https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123607
Bug ID: 123607
Summary: incorrect masked store vmovsh instruction emitted
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: mkretz at gcc dot gnu.org
Target Milestone: ---
Target: x86_64-*-*
With -march=graniterapids I get
vmovsh %xmm0, (%rsp){%k1}{z}
in some of my std::simd tests. The {z} part shouldn't exist for masked stores,
no? The assembler complains "error: unsupported masking for `vmovsh'".
I'm currently working on reducing a simple test case. I'll add it ASAP.