https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99593
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Christophe Lyon from comment #4) > I have updated the test in the initial description to call intrinsics, added > relevant dg-* directives. Testing with several configurations under progress. > > > Is it really r11-6708 that introduced the problem? It doesn't modify vshq > unlike it's predecessor r11-6707-g7432f255b70811dafaf325d94036ac580891de69. I think so, r11-6707 doesn't ICE. In *.expand dump, the only r11-6707 to r11-6708 differences are 4 times UNSPEC_ASHIFT_SIGNED -> VSHLQ_S changes, and that is true up to ira dump too. *.lra dump has: -(insn 256 174 176 4 (set (reg:V4SI 52 d18 [331]) - (const_vector:V4SI [ - (const_int -3 [0xfffffffffffffffd]) repeated x4 - ])) "ccLSOUAW.ii":66:45 1061 {*neon_movv4si} - (nil)) -(insn 176 256 177 4 (set (reg:V4SI 48 d16 [297]) +(insn 176 174 177 4 (set (reg:V4SI 48 d16 [297]) (unspec:V4SI [ (reg:V4SI 48 d16 [296]) - (reg:V4SI 52 d18 [331]) - ] UNSPEC_ASHIFT_SIGNED)) "ccLSOUAW.ii":66:45 1350 {ashlv4si3_signed} + (const_vector:V4SI [ + (const_int -3 [0xfffffffffffffffd]) repeated x4 + ]) + ] VSHLQ_S)) "ccLSOUAW.ii":66:45 510 {mve_vshlq_sv4si} (expr_list:REG_EQUAL (unspec:V4SI [ (reg:V4SI 48 d16 [296]) (const_vector:V4SI [ (const_int -3 [0xfffffffffffffffd]) repeated x4 ]) - ] UNSPEC_ASHIFT_SIGNED) + ] VSHLQ_S) (nil))) difference.