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.

Reply via email to