[Bug target/102835] New: gcc.target/i386/avx512fp16-trunchf.c FAILs
ro at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Oct 19 11:41:56 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102835
Bug ID: 102835
Summary: gcc.target/i386/avx512fp16-trunchf.c FAILs
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
Target: i?86-pc-solaris2.11, x86_64-pc-solaris2.11
The gcc.target/i386/avx512fp16-trunchf.c test has been FAILing on 32-bit
Solaris/x86
since it was installed:
FAIL: gcc.target/i386/avx512fp16-trunchf.c scan-assembler-times vcvttsh2si[
\\\\t]+[^{\\n]*(?:%xmm[0-9]|\\\\(%esp\\\\))+, %eax(?:\\n|[ \\\\t]+#) 3
FAIL: gcc.target/i386/avx512fp16-trunchf.c scan-assembler-times vcvttsh2usi[
\\\\t]+[^{\\n]*(?:%xmm[0-9]|\\\\(%esp\\\\))+, %eax(?:\\n|[ \\\\t]+#) 2
On Solaris, the assembler output contains
vcvttsh2si 8(%ebp), %eax
vcvttsh2si 8(%ebp), %eax
vcvttsh2si 8(%ebp), %eax
vcvttsh2usi 8(%ebp), %eax
vcvttsh2usi 8(%ebp), %eax
while Linux has
vcvttsh2si 4(%esp), %eax
vcvttsh2si 4(%esp), %eax
vcvttsh2si 4(%esp), %eax
vcvttsh2usi 4(%esp), %eax
vcvttsh2usi 4(%esp), %eax
As it turns out, the difference occurs because Solaris/x86 default to
-fno-omit-frame-pointer. With -fomit-frame-pointer added, the output matches.
I wonder what's the best way to handle the difference? Just add
-fomit-frame-pointer
to the testcase or allow for the %ebp vs. %esp difference?
More information about the Gcc-bugs
mailing list