@@ -2557,15 +2557,15 @@ def UMADDLrrr : WideMulAccum<0, 0b101, "umaddl", add, zext>;
2557
2557
def UMSUBLrrr : WideMulAccum<1, 0b101, "umsubl", sub, zext>;
2558
2558
2559
2559
def : Pat<(i64 (mul (sext_inreg GPR64:$Rn, i32), (sext_inreg GPR64:$Rm, i32))),
2560
- (SMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), XZR)>;
2560
+ (SMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), XZR)>;
2561
2561
def : Pat<(i64 (mul (sext_inreg GPR64:$Rn, i32), (sext GPR32:$Rm))),
2562
- (SMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, XZR)>;
2562
+ (SMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, XZR)>;
2563
2563
def : Pat<(i64 (mul (sext GPR32:$Rn), (sext GPR32:$Rm))),
2564
2564
(SMADDLrrr GPR32:$Rn, GPR32:$Rm, XZR)>;
2565
2565
def : Pat<(i64 (mul (and GPR64:$Rn, 0xFFFFFFFF), (and GPR64:$Rm, 0xFFFFFFFF))),
2566
- (UMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), XZR)>;
2566
+ (UMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), XZR)>;
2567
2567
def : Pat<(i64 (mul (and GPR64:$Rn, 0xFFFFFFFF), (zext GPR32:$Rm))),
2568
- (UMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, XZR)>;
2568
+ (UMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, XZR)>;
2569
2569
def : Pat<(i64 (mul (zext GPR32:$Rn), (zext GPR32:$Rm))),
2570
2570
(UMADDLrrr GPR32:$Rn, GPR32:$Rm, XZR)>;
2571
2571
@@ -2609,44 +2609,44 @@ def : Pat<(i64 (sub GPR64:$Ra, (mul (sext_inreg GPR64:$Rn, i32),
2609
2609
(MOVi32imm (trunc_imm imm:$C)), GPR64:$Ra)>;
2610
2610
2611
2611
def : Pat<(i64 (smullwithsignbits GPR64:$Rn, GPR64:$Rm)),
2612
- (SMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), XZR)>;
2612
+ (SMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), XZR)>;
2613
2613
def : Pat<(i64 (smullwithsignbits GPR64:$Rn, (sext GPR32:$Rm))),
2614
- (SMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, XZR)>;
2614
+ (SMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, XZR)>;
2615
2615
2616
2616
def : Pat<(i64 (add (smullwithsignbits GPR64:$Rn, GPR64:$Rm), GPR64:$Ra)),
2617
- (SMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), GPR64:$Ra)>;
2617
+ (SMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), GPR64:$Ra)>;
2618
2618
def : Pat<(i64 (add (smullwithsignbits GPR64:$Rn, (sext GPR32:$Rm)), GPR64:$Ra)),
2619
- (SMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, GPR64:$Ra)>;
2619
+ (SMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, GPR64:$Ra)>;
2620
2620
2621
2621
def : Pat<(i64 (ineg (smullwithsignbits GPR64:$Rn, GPR64:$Rm))),
2622
- (SMSUBLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), XZR)>;
2622
+ (SMSUBLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), XZR)>;
2623
2623
def : Pat<(i64 (ineg (smullwithsignbits GPR64:$Rn, (sext GPR32:$Rm)))),
2624
- (SMSUBLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, XZR)>;
2624
+ (SMSUBLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, XZR)>;
2625
2625
2626
2626
def : Pat<(i64 (sub GPR64:$Ra, (smullwithsignbits GPR64:$Rn, GPR64:$Rm))),
2627
- (SMSUBLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), GPR64:$Ra)>;
2627
+ (SMSUBLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), GPR64:$Ra)>;
2628
2628
def : Pat<(i64 (sub GPR64:$Ra, (smullwithsignbits GPR64:$Rn, (sext GPR32:$Rm)))),
2629
- (SMSUBLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, GPR64:$Ra)>;
2629
+ (SMSUBLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, GPR64:$Ra)>;
2630
2630
2631
2631
def : Pat<(i64 (mul top32Zero:$Rn, top32Zero:$Rm)),
2632
- (UMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), XZR)>;
2632
+ (UMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), XZR)>;
2633
2633
def : Pat<(i64 (mul top32Zero:$Rn, (zext GPR32:$Rm))),
2634
- (UMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, XZR)>;
2634
+ (UMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, XZR)>;
2635
2635
2636
2636
def : Pat<(i64 (add (mul top32Zero:$Rn, top32Zero:$Rm), GPR64:$Ra)),
2637
- (UMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), GPR64:$Ra)>;
2637
+ (UMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), GPR64:$Ra)>;
2638
2638
def : Pat<(i64 (add (mul top32Zero:$Rn, (zext GPR32:$Rm)), GPR64:$Ra)),
2639
- (UMADDLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, GPR64:$Ra)>;
2639
+ (UMADDLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, GPR64:$Ra)>;
2640
2640
2641
2641
def : Pat<(i64 (ineg (mul top32Zero:$Rn, top32Zero:$Rm))),
2642
- (UMSUBLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), XZR)>;
2642
+ (UMSUBLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), XZR)>;
2643
2643
def : Pat<(i64 (ineg (mul top32Zero:$Rn, (zext GPR32:$Rm)))),
2644
- (UMSUBLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, XZR)>;
2644
+ (UMSUBLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, XZR)>;
2645
2645
2646
2646
def : Pat<(i64 (sub GPR64:$Ra, (mul top32Zero:$Rn, top32Zero:$Rm))),
2647
- (UMSUBLrrr (EXTRACT_SUBREG $Rn, sub_32), (EXTRACT_SUBREG $Rm, sub_32), GPR64:$Ra)>;
2647
+ (UMSUBLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), (EXTRACT_SUBREG GPR64: $Rm, sub_32), GPR64:$Ra)>;
2648
2648
def : Pat<(i64 (sub GPR64:$Ra, (mul top32Zero:$Rn, (zext GPR32:$Rm)))),
2649
- (UMSUBLrrr (EXTRACT_SUBREG $Rn, sub_32), $Rm, GPR64:$Ra)>;
2649
+ (UMSUBLrrr (EXTRACT_SUBREG GPR64: $Rn, sub_32), $Rm, GPR64:$Ra)>;
2650
2650
} // AddedComplexity = 5
2651
2651
2652
2652
def : MulAccumWAlias<"mul", MADDWrrr>;
@@ -7283,14 +7283,14 @@ multiclass Neon_INS_elt_pattern<ValueType VT128, ValueType VT64, ValueType VTSVE
7283
7283
def : Pat<(VT128 (vector_insert VT128:$Rn,
7284
7284
(VTScal (vector_extract VTSVE:$Rm, (i64 SVEIdxTy:$Immn))),
7285
7285
(i64 imm:$Immd))),
7286
- (INS VT128:$Rn, imm:$Immd, (VT128 (EXTRACT_SUBREG VTSVE :$Rm, zsub)), SVEIdxTy:$Immn)>;
7286
+ (INS VT128:$Rn, imm:$Immd, (VT128 (EXTRACT_SUBREG ZPR :$Rm, zsub)), SVEIdxTy:$Immn)>;
7287
7287
7288
7288
def : Pat<(VT64 (vector_insert VT64:$Rn,
7289
7289
(VTScal (vector_extract VTSVE:$Rm, (i64 SVEIdxTy:$Immn))),
7290
7290
(i64 imm:$Immd))),
7291
7291
(EXTRACT_SUBREG
7292
7292
(INS (SUBREG_TO_REG (i64 0), VT64:$Rn, dsub), imm:$Immd,
7293
- (VT128 (EXTRACT_SUBREG VTSVE :$Rm, zsub)), SVEIdxTy:$Immn),
7293
+ (VT128 (EXTRACT_SUBREG ZPR :$Rm, zsub)), SVEIdxTy:$Immn),
7294
7294
dsub)>;
7295
7295
// Extracting from another NEON vector
7296
7296
def : Pat<(VT128 (vector_insert V128:$src,
0 commit comments