https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
--- Comment #13 from Hongtao Liu <liuhongt at gcc dot gnu.org> --- (In reply to David Binderman from comment #12) > (In reply to Hongtao Liu from comment #11) > > (In reply to David Binderman from comment #10) > > > Did this ever happen ? > > > > > > Similar test case gcc/testsuite/gcc.target/i386/avx10_1-26.c > > > still seems to cause a crash: > > > > > > testsuite $ ~/gcc/results/bin/gcc -c -w ./gcc.target/i386/avx10_1-26.c > > > ./gcc.target/i386/avx10_1-26.c: In function ‘foo’: > > > ./gcc.target/i386/avx10_1-26.c:7:9: note: the ABI for passing parameters > > > with 64-byte alignment has changed in GCC 4.6 > > > 7 | __m512d foo(__m512d a, __m512d b) > > > | ^~~ > > > > Looks like the same error. > > Still going wrong, but now badly wrong: > > testsuite $ /home/dcb40b/gcc/results.20250321.ubsan/bin/gcc -c -w > ./gcc.target/i386/avx10_1-26.c > ./gcc.target/i386/avx10_1-26.c: In function ‘foo’: > ./gcc.target/i386/avx10_1-26.c:7:9: note: the ABI for passing parameters > with 64-byte alignment has changed in GCC 4.6 > 7 | __m512d foo(__m512d a, __m512d b) > | ^~~ > ./gcc.target/i386/avx10_1-26.c: At top level: > ./gcc.target/i386/avx10_1-26.c:7:9: error: attribute ‘target_clone’ argument > ‘avx10.1’ is unknown > testsuite $ /home/dcb40b/gcc/results.20250325.ubsan/bin/gcc -c -w > ./gcc.target/i386/avx10_1-26.c > ./gcc.target/i386/avx10_1-26.c: In function ‘foo’: > ./gcc.target/i386/avx10_1-26.c:7:9: note: the ABI for passing parameters > with 64-byte alignment has changed in GCC 4.6 > 7 | __m512d foo(__m512d a, __m512d b) > | ^~~ > during RTL pass: expand > ./gcc.target/i386/avx10_1-26.c: In function ‘foo.avx10_1’: > ./gcc.target/i386/avx10_1-26.c:10:1: internal compiler error: Segmentation We recently tweaked the definition of avx10 and some options were deprecated, which issueed additional errors. But the ICE is still the same as mentioned in #c7. One solution is GCC issue an error when there's ABI change in return value.(originally it's gcc assert).