re PR target/91204 (ICE in expand_expr_real_2, at expr.c:9215 with -O3)
authorUros Bizjak <ubizjak@gmail.com>
Fri, 19 Jul 2019 14:36:49 +0000 (16:36 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 19 Jul 2019 14:36:49 +0000 (16:36 +0200)
PR target/91204
* config/i386/mmx.md (one_cmpl<mode>2): New expander.

From-SVN: r273604

gcc/ChangeLog
gcc/config/i386/mmx.md

index 2ccbcd1372fe937a87fe3f2ce81b58a2ffd54968..8824ffd7b6f7db3991bdd2b68c3ca7b37063b1fd 100644 (file)
@@ -1,3 +1,8 @@
+2019-07-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/91204
+       * config/i386/mmx.md (one_cmpl<mode>2): New expander.
+
 2019-07-19  Jan Hubicka  <hubicka@ucw.cz>
 
        PR ipa/91194
index 4c71e66e6607803fc6ede43f0d3315458709710e..c78b33b510a6ce36600c375a2272a1cdec1031b5 100644 (file)
 ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+(define_expand "one_cmpl<mode>2"
+  [(set (match_operand:MMXMODEI 0 "register_operand")
+       (xor:MMXMODEI
+         (match_operand:MMXMODEI 1 "register_operand")
+         (match_dup 2)))]
+  "TARGET_MMX_WITH_SSE"
+  "operands[2] = force_reg (<MODE>mode, CONSTM1_RTX (<MODE>mode));")
+
 (define_insn "mmx_andnot<mode>3"
   [(set (match_operand:MMXMODEI 0 "register_operand" "=y,x,Yv")
        (and:MMXMODEI