https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109504
Bug ID: 109504 Summary: Compilation fails with pragma GCC target sse4.1 and immintrin.h Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: vd.kraats at hccnet dot nl Target Milestone: --- Problem occurs at Debian Bookworm (Testing) i686 (32 bit). debian:~$ cat test.c #pragma GCC target("sse4.1") #include <immintrin.h> int main(){return 0;} debian:~$ gcc -v test.c 2>&1 | head -100 Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/12/lto-wrapper Target: i686-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=<span style="color:#C01C28">file:///usr/share/doc/gcc-12/README.Bugs</span> --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=i686-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (Debian 12.2.0-14) COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=i686' '-dumpdir' 'a-' /usr/lib/gcc/i686-linux-gnu/12/cc1 -quiet -v -imultiarch i386-linux-gnu test.c -quiet -dumpdir a- -dumpbase test.c -dumpbase-ext .c -mtune=generic -march=i686 -version -fasynchronous-unwind-tables -o /tmp/ccvTqsb4.s GNU C17 (Debian 12.2.0-14) version 12.2.0 (i686-linux-gnu) compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/local/include/i386-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/i686-linux-gnu/12/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/i686-linux-gnu/12/../../../../i686-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/i686-linux-gnu/12/include /usr/local/include /usr/include/i386-linux-gnu /usr/include End of search list. GNU C17 (Debian 12.2.0-14) version 12.2.0 (i686-linux-gnu) compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: e1e0efc2c04a9ab28e35cf4254d1a7fe In file included from /usr/lib/gcc/i686-linux-gnu/12/include/immintrin.h:98, from test.c:2: /usr/lib/gcc/i686-linux-gnu/12/include/avx512fp16intrin.h:38:9: error: ‘_Float16’ is not supported on this target 38 | typedef _Float16 __v8hf __attribute__ ((__vector_size__ (16))); This error should not be given.The current target should be sse4.1, because of the pragma. The error makes cross-compiling with a low target machine (i686 in this case) not workable. The error only occurs at gcc-12, not at gcc-11. So this seeems to be regression. The error disappears if compiling with option -msse2. This error caused filezilla not being delivered anymore at latest upgrade of Debian Bookworm. I wrote bug-request https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034195 . This problem was noticed before at Debian. But Debian blaimed Filezilla, and Filezila blaimed Debian/GCC, because nothing was changed in this area since previous release. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1020327 and https://trac.filezilla-project.org/ticket/12777 .