@@ -5160,9 +5160,9 @@ multiclass SVE_SETCC_Pat<CondCode cc, CondCode invcc, ValueType predvt,
51605160 (cmp $Op1, $Op2, $Op3)>;
51615161 def : Pat<(predvt (AArch64setcc_z predvt:$Op1, intvt:$Op2, intvt:$Op3, invcc)),
51625162 (cmp $Op1, $Op3, $Op2)>;
5163- def : Pat<(predvt (and predvt:$Pg, (AArch64setcc_z_oneuse (predvt (AArch64ptrue 31 )), intvt:$Op2, intvt:$Op3, cc))),
5163+ def : Pat<(predvt (and predvt:$Pg, (AArch64setcc_z_oneuse (predvt (SVEAllActive )), intvt:$Op2, intvt:$Op3, cc))),
51645164 (cmp $Pg, $Op2, $Op3)>;
5165- def : Pat<(predvt (and predvt:$Pg, (AArch64setcc_z_oneuse (predvt (AArch64ptrue 31 )), intvt:$Op2, intvt:$Op3, invcc))),
5165+ def : Pat<(predvt (and predvt:$Pg, (AArch64setcc_z_oneuse (predvt (SVEAllActive )), intvt:$Op2, intvt:$Op3, invcc))),
51665166 (cmp $Pg, $Op3, $Op2)>;
51675167}
51685168
@@ -5172,9 +5172,9 @@ multiclass SVE_SETCC_Pat_With_Zero<CondCode cc, CondCode invcc, ValueType predvt
51725172 (cmp $Op1, $Op2)>;
51735173 def : Pat<(predvt (AArch64setcc_z predvt:$Op1, (SVEDup0), intvt:$Op2, invcc)),
51745174 (cmp $Op1, $Op2)>;
5175- def : Pat<(predvt (and predvt:$Pg, (AArch64setcc_z_oneuse (predvt (AArch64ptrue 31 )), intvt:$Op1, (SVEDup0), cc))),
5175+ def : Pat<(predvt (and predvt:$Pg, (AArch64setcc_z_oneuse (predvt (SVEAllActive )), intvt:$Op1, (SVEDup0), cc))),
51765176 (cmp $Pg, $Op1)>;
5177- def : Pat<(predvt (and predvt:$Pg, (AArch64setcc_z_oneuse (predvt (AArch64ptrue 31 )), (SVEDup0), intvt:$Op1, invcc))),
5177+ def : Pat<(predvt (and predvt:$Pg, (AArch64setcc_z_oneuse (predvt (SVEAllActive )), (SVEDup0), intvt:$Op1, invcc))),
51785178 (cmp $Pg, $Op1)>;
51795179}
51805180
@@ -5258,13 +5258,13 @@ multiclass SVE_SETCC_Imm_Pat<CondCode cc, CondCode commuted_cc,
52585258 commuted_cc)),
52595259 (cmp $Pg, $Zs1, immtype:$imm)>;
52605260 def : Pat<(predvt (and predvt:$Pg,
5261- (AArch64setcc_z_oneuse (predvt (AArch64ptrue 31 )),
5261+ (AArch64setcc_z_oneuse (predvt (SVEAllActive )),
52625262 (intvt ZPR:$Zs1),
52635263 (intvt (splat_vector (immtype:$imm))),
52645264 cc))),
52655265 (cmp $Pg, $Zs1, immtype:$imm)>;
52665266 def : Pat<(predvt (and predvt:$Pg,
5267- (AArch64setcc_z_oneuse (predvt (AArch64ptrue 31 )),
5267+ (AArch64setcc_z_oneuse (predvt (SVEAllActive )),
52685268 (intvt (splat_vector (immtype:$imm))),
52695269 (intvt ZPR:$Zs1),
52705270 commuted_cc))),
@@ -5743,23 +5743,23 @@ multiclass sve_int_index_ir<string asm, SDPatternOperator mulop, SDPatternOperat
57435743 (!cast<Instruction>(NAME # "_D") simm5_64b:$imm5, (SUBREG_TO_REG (i64 0), (!cast<Instruction>("MOVi32imm") (!cast<SDNodeXForm>("trunc_imm") $imm)), sub_32))>;
57445744
57455745 // mul(step_vector(1), dup(Y)) -> index(0, Y).
5746- def : Pat<(mulop (nxv16i1 (AArch64ptrue 31 )), (nxv16i8 (step_vector_oneuse (i8 1))), (nxv16i8 (splat_vector(i32 GPR32:$Rm)))),
5746+ def : Pat<(mulop (nxv16i1 (SVEAllActive )), (nxv16i8 (step_vector_oneuse (i8 1))), (nxv16i8 (splat_vector(i32 GPR32:$Rm)))),
57475747 (!cast<Instruction>(NAME # "_B") (i32 0), GPR32:$Rm)>;
5748- def : Pat<(mulop (nxv8i1 (AArch64ptrue 31 )), (nxv8i16 (step_vector_oneuse (i16 1))), (nxv8i16 (splat_vector(i32 GPR32:$Rm)))),
5748+ def : Pat<(mulop (nxv8i1 (SVEAllActive )), (nxv8i16 (step_vector_oneuse (i16 1))), (nxv8i16 (splat_vector(i32 GPR32:$Rm)))),
57495749 (!cast<Instruction>(NAME # "_H") (i32 0), GPR32:$Rm)>;
5750- def : Pat<(mulop (nxv4i1 (AArch64ptrue 31 )), (nxv4i32 (step_vector_oneuse (i32 1))), (nxv4i32 (splat_vector(i32 GPR32:$Rm)))),
5750+ def : Pat<(mulop (nxv4i1 (SVEAllActive )), (nxv4i32 (step_vector_oneuse (i32 1))), (nxv4i32 (splat_vector(i32 GPR32:$Rm)))),
57515751 (!cast<Instruction>(NAME # "_S") (i32 0), GPR32:$Rm)>;
5752- def : Pat<(mulop (nxv2i1 (AArch64ptrue 31 )), (nxv2i64 (step_vector_oneuse (i64 1))), (nxv2i64 (splat_vector(i64 GPR64:$Rm)))),
5752+ def : Pat<(mulop (nxv2i1 (SVEAllActive )), (nxv2i64 (step_vector_oneuse (i64 1))), (nxv2i64 (splat_vector(i64 GPR64:$Rm)))),
57535753 (!cast<Instruction>(NAME # "_D") (i64 0), GPR64:$Rm)>;
57545754
57555755 // add(mul(step_vector(1), dup(Y)), dup(X)) -> index(X, Y).
5756- def : Pat<(add (muloneuseop (nxv16i1 (AArch64ptrue 31 )), (nxv16i8 (step_vector_oneuse (i8 1))), (nxv16i8 (splat_vector(i32 GPR32:$Rm)))), (nxv16i8 (splat_vector(simm5_8b:$imm5)))),
5756+ def : Pat<(add (muloneuseop (nxv16i1 (SVEAllActive )), (nxv16i8 (step_vector_oneuse (i8 1))), (nxv16i8 (splat_vector(i32 GPR32:$Rm)))), (nxv16i8 (splat_vector(simm5_8b:$imm5)))),
57575757 (!cast<Instruction>(NAME # "_B") simm5_8b:$imm5, GPR32:$Rm)>;
5758- def : Pat<(add (muloneuseop (nxv8i1 (AArch64ptrue 31 )), (nxv8i16 (step_vector_oneuse (i16 1))), (nxv8i16 (splat_vector(i32 GPR32:$Rm)))), (nxv8i16 (splat_vector(simm5_16b:$imm5)))),
5758+ def : Pat<(add (muloneuseop (nxv8i1 (SVEAllActive )), (nxv8i16 (step_vector_oneuse (i16 1))), (nxv8i16 (splat_vector(i32 GPR32:$Rm)))), (nxv8i16 (splat_vector(simm5_16b:$imm5)))),
57595759 (!cast<Instruction>(NAME # "_H") simm5_16b:$imm5, GPR32:$Rm)>;
5760- def : Pat<(add (muloneuseop (nxv4i1 (AArch64ptrue 31 )), (nxv4i32 (step_vector_oneuse (i32 1))), (nxv4i32 (splat_vector(i32 GPR32:$Rm)))), (nxv4i32 (splat_vector(simm5_32b:$imm5)))),
5760+ def : Pat<(add (muloneuseop (nxv4i1 (SVEAllActive )), (nxv4i32 (step_vector_oneuse (i32 1))), (nxv4i32 (splat_vector(i32 GPR32:$Rm)))), (nxv4i32 (splat_vector(simm5_32b:$imm5)))),
57615761 (!cast<Instruction>(NAME # "_S") simm5_32b:$imm5, GPR32:$Rm)>;
5762- def : Pat<(add (muloneuseop (nxv2i1 (AArch64ptrue 31 )), (nxv2i64 (step_vector_oneuse (i64 1))), (nxv2i64 (splat_vector(i64 GPR64:$Rm)))), (nxv2i64 (splat_vector(simm5_64b:$imm5)))),
5762+ def : Pat<(add (muloneuseop (nxv2i1 (SVEAllActive )), (nxv2i64 (step_vector_oneuse (i64 1))), (nxv2i64 (splat_vector(i64 GPR64:$Rm)))), (nxv2i64 (splat_vector(simm5_64b:$imm5)))),
57635763 (!cast<Instruction>(NAME # "_D") simm5_64b:$imm5, GPR64:$Rm)>;
57645764}
57655765
@@ -5837,13 +5837,13 @@ multiclass sve_int_index_rr<string asm, SDPatternOperator mulop> {
58375837 (!cast<Instruction>(NAME # "_D") GPR64:$Rn, (SUBREG_TO_REG (i64 0), (!cast<Instruction>("MOVi32imm") (!cast<SDNodeXForm>("trunc_imm") $imm)), sub_32))>;
58385838
58395839 // add(mul(step_vector(1), dup(Y)), dup(X)) -> index(X, Y).
5840- def : Pat<(add (mulop (nxv16i1 (AArch64ptrue 31 )), (nxv16i8 (step_vector_oneuse (i8 1))), (nxv16i8 (splat_vector(i32 GPR32:$Rm)))), (nxv16i8 (splat_vector(i32 GPR32:$Rn)))),
5840+ def : Pat<(add (mulop (nxv16i1 (SVEAllActive )), (nxv16i8 (step_vector_oneuse (i8 1))), (nxv16i8 (splat_vector(i32 GPR32:$Rm)))), (nxv16i8 (splat_vector(i32 GPR32:$Rn)))),
58415841 (!cast<Instruction>(NAME # "_B") GPR32:$Rn, GPR32:$Rm)>;
5842- def : Pat<(add (mulop (nxv8i1 (AArch64ptrue 31 )), (nxv8i16 (step_vector_oneuse (i16 1))), (nxv8i16 (splat_vector(i32 GPR32:$Rm)))),(nxv8i16 (splat_vector(i32 GPR32:$Rn)))),
5842+ def : Pat<(add (mulop (nxv8i1 (SVEAllActive )), (nxv8i16 (step_vector_oneuse (i16 1))), (nxv8i16 (splat_vector(i32 GPR32:$Rm)))),(nxv8i16 (splat_vector(i32 GPR32:$Rn)))),
58435843 (!cast<Instruction>(NAME # "_H") GPR32:$Rn, GPR32:$Rm)>;
5844- def : Pat<(add (mulop (nxv4i1 (AArch64ptrue 31 )), (nxv4i32 (step_vector_oneuse (i32 1))), (nxv4i32 (splat_vector(i32 GPR32:$Rm)))),(nxv4i32 (splat_vector(i32 GPR32:$Rn)))),
5844+ def : Pat<(add (mulop (nxv4i1 (SVEAllActive )), (nxv4i32 (step_vector_oneuse (i32 1))), (nxv4i32 (splat_vector(i32 GPR32:$Rm)))),(nxv4i32 (splat_vector(i32 GPR32:$Rn)))),
58455845 (!cast<Instruction>(NAME # "_S") GPR32:$Rn, GPR32:$Rm)>;
5846- def : Pat<(add (mulop (nxv2i1 (AArch64ptrue 31 )), (nxv2i64 (step_vector_oneuse (i64 1))), (nxv2i64 (splat_vector(i64 GPR64:$Rm)))),(nxv2i64 (splat_vector(i64 GPR64:$Rn)))),
5846+ def : Pat<(add (mulop (nxv2i1 (SVEAllActive )), (nxv2i64 (step_vector_oneuse (i64 1))), (nxv2i64 (splat_vector(i64 GPR64:$Rm)))),(nxv2i64 (splat_vector(i64 GPR64:$Rn)))),
58475847 (!cast<Instruction>(NAME # "_D") GPR64:$Rn, GPR64:$Rm)>;
58485848}
58495849
0 commit comments