https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105055
Bug ID: 105055
Summary: pr95483-1.c makes incorrect assumption of SSE2 being
enabled.
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: testsuite
Assignee: unassigned at gcc dot gnu.org
Reporter: poulhies at adacore dot com
Target Milestone: ---
Using a compiler without sse/sse2 enabled by default, the test emits the
following warning:
gcc/testsuite/gcc.target/i386/pr95483-1.c: In function 'foo':
...../11.2.1/include/emmintrin.h:762:1: error: inlining failed in call to
'always_inline' '_mm_storeu_si16': target specific option mismatch
.../gcc/testsuite/gcc.target/i386/pr95483-1.c:15:4: note: called from here
.../11.2.1/include/emmintrin.h:725:1: error: inlining failed in call to
'always_inline' '_mm_loadu_si16': target specific option mismatch
...gcc/testsuite/gcc.target/i386/pr95483-1.c:14:7: note: called from here
The reason is that the test is built using -msse only, but the emmintrin.h has:
#ifndef __SSE2__
#pragma GCC push_options
#pragma GCC target("sse2")
#define __DISABLE_SSE2__
#endif /* __SSE2__ */
preventing the inlining.
Seeing how other tests pr95483-{1..7}.c are built using different options, I'm
not really sure how to fix this correctly (I would add -msse2 in this
particular test..).
Thanks,
Marc