https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124294
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2026-02-27
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
Status|UNCONFIRMED |ASSIGNED
Ever confirmed|0 |1
Summary|wrong operand order of |[15/16 Regression] wrong
|"vmovw" of xmm16 with |operand order of "vmovw" of
|-masm=intel |xmm16 with -masm=intel
| |since r15-3184
Target Milestone|--- |15.3
CC| |jakub at gcc dot gnu.org
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Introduced in r15-3184
--- gcc/config/i386/sse.md.jj 2026-02-27 21:23:05.086994077 +0100
+++ gcc/config/i386/sse.md 2026-02-27 22:17:33.564215619 +0100
@@ -12445,7 +12445,7 @@ (define_insn "avx512fp16_mov<mode>"
|| (TARGET_AVX10_2 && const0_operand (operands[1], <MODE>mode))"
"@
vmovsh\t{%2, %1, %0|%0, %1, %2}
- vmovw\t{%2, %0|%2, %0}"
+ vmovw\t{%2, %0|%0, %2}"
[(set_attr "isa" "*,avx10_2")
(set_attr "type" "ssemov")
(set_attr "prefix" "evex")
should fix this, don't see similar bugs anywhere in config/i386/*.md