https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117697
Bug ID: 117697
Summary: gcc.target/i386/avx10_2-vmovd-1.c etc. FAIL
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: haochen.jiang at intel dot com
Target Milestone: ---
Target: i386-pc-solaris2.11
Two tests FAILs on 32-bit Solaris/x86:
+FAIL: gcc.target/i386/avx10_2-vmovd-1.c scan-assembler-times
vmovd\\t4\\\\(%esp\\\\), %xmm0 1
+FAIL: gcc.target/i386/avx10_2-vmovd-1.c scan-assembler-times
vmovss\\t4\\\\(%esp\\\\), %xmm0 1
+FAIL: gcc.target/i386/avx10_2-vmovw-1.c scan-assembler-times
vmovw\\t4\\\\(%esp\\\\), %xmm0 3
+FAIL: gcc.target/i3
Compared to Linux/i686, the difference is
- vmovd 4(%esp), %xmm0
+ pushl %ebp
+ movl %esp, %ebp
+ vmovd 8(%ebp), %xmm0
+ popl %ebp
On Linux, I can trigger the failure with -fno-omit-frame-pointer, which is
the Solaris/x86 default. Weirdly, adding -fomit-frame-pointer to the testcases
make no difference on Solaris and I don't yet see why.