[Bug target/117926] [14/15 Regression] emits 3dnow (MMX) instruction from autovectorized GIMPLE without emms at -O2 since r14-2786-gade30fad6669e5
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Dec 6 09:12:00 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117926
--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> ---
Even better (and more reliable) solution: tag 3dNOW insns with an unspec:
(define_insn "mmx_floatv2siv2sf2"
[(set (match_operand:V2SF 0 "register_operand" "=y")
- (float:V2SF (match_operand:V2SI 1 "nonimmediate_operand" "ym")))]
+ (float:V2SF (match_operand:V2SI 1 "nonimmediate_operand" "ym")))
+ (unspec [(const_int 0)] UNSPEC_3DNOW)]
"TARGET_3DNOW"
"pi2fd\t{%1, %0|%0, %1}"
[(set_attr "type" "mmxcvt")
More information about the Gcc-bugs
mailing list