https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88587
--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> --- > It's quite strange that following is fine: > > $ cat pr88587-2.c > __attribute__((target("default"))) void a() { > __attribute__((__vector_size__(4 * sizeof(float)))) int b = {}; > } > > __attribute__((target("sse2"))) void a2() { > __attribute__((__vector_size__(4 * sizeof(float)))) int b = {}; > } > > $ gcc -c -m32 -mno-sse -O -g pr88587-2.c > > I'll investigate how precisely the debug insn looks like in both situations. I was wrong, this also fails, so not target_clone attribute related: $ cat ~/Programming/testcases/pr88587-2.c __attribute__((target("default"),always_inline)) void a() { __attribute__((__vector_size__(4 * sizeof(float)))) int b = {}; } __attribute__((target("sse2"))) void a2() { a (); __attribute__((__vector_size__(4 * sizeof(float)))) int b = {}; } $ gcc ~/Programming/testcases/pr88587-2.c -c -m32 -mno-sse -O -g /home/marxin/Programming/testcases/pr88587-2.c:1:55: warning: always_inline function might not be inlinable [-Wattributes] __attribute__((target("default"),always_inline)) void a() { ^ during RTL pass: expand /home/marxin/Programming/testcases/pr88587-2.c: In function ‘a2’: /home/marxin/Programming/testcases/pr88587-2.c:5:38: internal compiler error: in expand_debug_locations, at cfgexpand.c:5403 __attribute__((target("sse2"))) void a2() { ^~ 0x7ffff6996fea __libc_start_main ../csu/libc-start.c:308 The ICE is very old, starting from GCC 4.8.0. Before that target attribute was not known yet.