[Bug target/91204] [10 Regression] ICE in expand_expr_real_2, at expr.c:9215 with -O3
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Jul 19 09:28:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91204
--- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Jakub Jelinek from comment #3)
> seems to work for me. Or of course something similar can be done in
> config/i386/mmx.md, basically copy the sse.md one_cmpl<mode>2 pattern to
> mmx.md with TARGET_MMX_WITH_SSE and MMXMODEI iterator.
Like this?
--cut here--
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 4c71e66e6607..c78b33b510a6 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1158,6 +1158,14 @@
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(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
--cut here--
More information about the Gcc-bugs
mailing list