@@ -1053,13 +1053,6 @@ def AArch64umaxv : SDNode<"AArch64ISD::UMAXV", SDT_AArch64UnaryVec>;
10531053def AArch64uaddlv : SDNode<"AArch64ISD::UADDLV", SDT_AArch64uaddlp>;
10541054def AArch64saddlv : SDNode<"AArch64ISD::SADDLV", SDT_AArch64uaddlp>;
10551055
1056- def AArch64uabd : PatFrags<(ops node:$lhs, node:$rhs),
1057- [(abdu node:$lhs, node:$rhs),
1058- (int_aarch64_neon_uabd node:$lhs, node:$rhs)]>;
1059- def AArch64sabd : PatFrags<(ops node:$lhs, node:$rhs),
1060- [(abds node:$lhs, node:$rhs),
1061- (int_aarch64_neon_sabd node:$lhs, node:$rhs)]>;
1062-
10631056// Add Pairwise of two vectors
10641057def AArch64addp_n : SDNode<"AArch64ISD::ADDP", SDT_AArch64Zip>;
10651058// Add Long Pairwise
@@ -5667,8 +5660,7 @@ let Predicates = [HasFullFP16] in {
56675660// Advanced SIMD two vector instructions.
56685661//===----------------------------------------------------------------------===//
56695662
5670- defm UABDL : SIMDLongThreeVectorBHSabdl<1, 0b0111, "uabdl",
5671- AArch64uabd>;
5663+ defm UABDL : SIMDLongThreeVectorBHSabdl<1, 0b0111, "uabdl", abdu>;
56725664// Match UABDL in log2-shuffle patterns.
56735665def : Pat<(abs (v8i16 (sub (zext (v8i8 V64:$opA)),
56745666 (zext (v8i8 V64:$opB))))),
@@ -6018,8 +6010,8 @@ defm MLS : SIMDThreeSameVectorBHSTied<1, 0b10010, "mls", null_frag>;
60186010defm MUL : SIMDThreeSameVectorBHS<0, 0b10011, "mul", mul>;
60196011defm PMUL : SIMDThreeSameVectorB<1, 0b10011, "pmul", int_aarch64_neon_pmul>;
60206012defm SABA : SIMDThreeSameVectorBHSTied<0, 0b01111, "saba",
6021- TriOpFrag<(add node:$LHS, (AArch64sabd node:$MHS, node:$RHS))> >;
6022- defm SABD : SIMDThreeSameVectorBHS<0,0b01110,"sabd", AArch64sabd >;
6013+ TriOpFrag<(add node:$LHS, (abds node:$MHS, node:$RHS))> >;
6014+ defm SABD : SIMDThreeSameVectorBHS<0,0b01110,"sabd", abds >;
60236015defm SHADD : SIMDThreeSameVectorBHS<0,0b00000,"shadd", avgfloors>;
60246016defm SHSUB : SIMDThreeSameVectorBHS<0,0b00100,"shsub", int_aarch64_neon_shsub>;
60256017defm SMAXP : SIMDThreeSameVectorBHS<0,0b10100,"smaxp", int_aarch64_neon_smaxp>;
@@ -6037,8 +6029,8 @@ defm SRSHL : SIMDThreeSameVector<0,0b01010,"srshl", int_aarch64_neon_srshl>;
60376029defm SSHL : SIMDThreeSameVector<0,0b01000,"sshl", int_aarch64_neon_sshl>;
60386030defm SUB : SIMDThreeSameVector<1,0b10000,"sub", sub>;
60396031defm UABA : SIMDThreeSameVectorBHSTied<1, 0b01111, "uaba",
6040- TriOpFrag<(add node:$LHS, (AArch64uabd node:$MHS, node:$RHS))> >;
6041- defm UABD : SIMDThreeSameVectorBHS<1,0b01110,"uabd", AArch64uabd >;
6032+ TriOpFrag<(add node:$LHS, (abdu node:$MHS, node:$RHS))> >;
6033+ defm UABD : SIMDThreeSameVectorBHS<1,0b01110,"uabd", abdu >;
60426034defm UHADD : SIMDThreeSameVectorBHS<1,0b00000,"uhadd", avgflooru>;
60436035defm UHSUB : SIMDThreeSameVectorBHS<1,0b00100,"uhsub", int_aarch64_neon_uhsub>;
60446036defm UMAXP : SIMDThreeSameVectorBHS<1,0b10100,"umaxp", int_aarch64_neon_umaxp>;
@@ -6759,10 +6751,8 @@ defm SUBHN : SIMDNarrowThreeVectorBHS<0,0b0110,"subhn", int_aarch64_neon_subhn>
67596751defm RADDHN : SIMDNarrowThreeVectorBHS<1,0b0100,"raddhn",int_aarch64_neon_raddhn>;
67606752defm RSUBHN : SIMDNarrowThreeVectorBHS<1,0b0110,"rsubhn",int_aarch64_neon_rsubhn>;
67616753defm PMULL : SIMDDifferentThreeVectorBD<0,0b1110,"pmull", AArch64pmull>;
6762- defm SABAL : SIMDLongThreeVectorTiedBHSabal<0,0b0101,"sabal",
6763- AArch64sabd>;
6764- defm SABDL : SIMDLongThreeVectorBHSabdl<0, 0b0111, "sabdl",
6765- AArch64sabd>;
6754+ defm SABAL : SIMDLongThreeVectorTiedBHSabal<0,0b0101,"sabal", abds>;
6755+ defm SABDL : SIMDLongThreeVectorBHSabdl<0, 0b0111, "sabdl", abds>;
67666756defm SADDL : SIMDLongThreeVectorBHS< 0, 0b0000, "saddl",
67676757 BinOpFrag<(add (sext node:$LHS), (sext node:$RHS))>>;
67686758defm SADDW : SIMDWideThreeVectorBHS< 0, 0b0001, "saddw",
@@ -6780,8 +6770,7 @@ defm SSUBL : SIMDLongThreeVectorBHS<0, 0b0010, "ssubl",
67806770 BinOpFrag<(sub (sext node:$LHS), (sext node:$RHS))>>;
67816771defm SSUBW : SIMDWideThreeVectorBHS<0, 0b0011, "ssubw",
67826772 BinOpFrag<(sub node:$LHS, (sext node:$RHS))>>;
6783- defm UABAL : SIMDLongThreeVectorTiedBHSabal<1, 0b0101, "uabal",
6784- AArch64uabd>;
6773+ defm UABAL : SIMDLongThreeVectorTiedBHSabal<1, 0b0101, "uabal", abdu>;
67856774defm UADDL : SIMDLongThreeVectorBHS<1, 0b0000, "uaddl",
67866775 BinOpFrag<(add (zanyext node:$LHS), (zanyext node:$RHS))>>;
67876776defm UADDW : SIMDWideThreeVectorBHS<1, 0b0001, "uaddw",
0 commit comments