https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99216
--- Comment #2 from Alex Coplan <acoplan at gcc dot gnu.org> --- This one ICEs at all optimization levels (not just -O0): #include <arm_sve.h> unsigned long long a; void b(unsigned long long *c, int e) { *c ^= e; } bool d; int main() { d = svaddv(svptrue_pat_b8(SV_VL16), svdup_s8(0)); b(&a, d); }