https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115748
Bug ID: 115748 Summary: [15 Regression] gcc.target/i386/avx512bw-pr70509.c SIGILL with -m32 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org Target Milestone: --- On a non-AVX512 machine some of the avx512bw tests FAIL as we seem to use kmov in the cpu detection code: Program received signal SIGILL, Illegal instruction. 0x080491eb in __get_cpuid_count (__leaf=7, __subleaf=0, __eax=<synthetic pointer>, __ebx=<synthetic pointer>, __ecx=<synthetic pointer>, __edx=<synthetic pointer>) at /home/rguenther/obj/gcc/include/cpuid.h:346 346 __cpuid_count (__leaf, __subleaf, *__eax, *__ebx, *__ecx, *__edx); (gdb) disassemble ... 0x080491df <+46>: mov $0x7,%eax 0x080491e4 <+51>: mov $0x0,%ecx 0x080491e9 <+56>: cpuid => 0x080491eb <+58>: kmovd %ebx,%k0 0x080491ef <+62>: mov $0x1,%eax 0x080491f4 <+67>: mov $0x0,%ebx this is in avx512-check.h which contains main that's compiled with flags assuming there's no incentive to use any non-base x86-64 ISA.