https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116238
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[15 Regression] ICE |[12/13/14/15 Regression] |building 526.blender_r on |ICE building 526.blender_r |aarch64 SVE after |on aarch64 SVE after |r15-1619-g3b9b8d6cfdf593 |r15-1619-g3b9b8d6cfdf593 Known to work| |9.5.0 Known to fail| |10.5.0 --- Comment #6 from ktkachov at gcc dot gnu.org --- (In reply to Richard Sandiford from comment #5) > Yeah, seems to be a latent bug in aarch64_hard_regno_caller_save_mode. A > brute-force reproducer is: > > void foo(); > typedef unsigned char v2qi __attribute__((vector_size(2))); > void f(v2qi *ptr) > { > v2qi x = *ptr; > asm volatile ("" :: "w" (x)); > asm volatile ("" ::: "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15"); > foo(); > asm volatile ("" :: "w" (x)); > *ptr = x; > } Interesting. With this reproducer we get the ICE from GCC 10 onwards when compiled with -O3 -march=armv8.2-a+sve -msve-vector-bits=128