@@ -5707,27 +5707,6 @@ let Predicates = [HasFullFP16] in {
57075707// Advanced SIMD two vector instructions.
57085708//===----------------------------------------------------------------------===//
57095709
5710- defm UABDL : SIMDLongThreeVectorBHSabdl<1, 0b0111, "uabdl", abdu>;
5711- // Match UABDL in log2-shuffle patterns.
5712- def : Pat<(abs (v8i16 (sub (zext (v8i8 V64:$opA)),
5713- (zext (v8i8 V64:$opB))))),
5714- (UABDLv8i8_v8i16 V64:$opA, V64:$opB)>;
5715- def : Pat<(abs (v8i16 (sub (zext (extract_high_v16i8 (v16i8 V128:$opA))),
5716- (zext (extract_high_v16i8 (v16i8 V128:$opB)))))),
5717- (UABDLv16i8_v8i16 V128:$opA, V128:$opB)>;
5718- def : Pat<(abs (v4i32 (sub (zext (v4i16 V64:$opA)),
5719- (zext (v4i16 V64:$opB))))),
5720- (UABDLv4i16_v4i32 V64:$opA, V64:$opB)>;
5721- def : Pat<(abs (v4i32 (sub (zext (extract_high_v8i16 (v8i16 V128:$opA))),
5722- (zext (extract_high_v8i16 (v8i16 V128:$opB)))))),
5723- (UABDLv8i16_v4i32 V128:$opA, V128:$opB)>;
5724- def : Pat<(abs (v2i64 (sub (zext (v2i32 V64:$opA)),
5725- (zext (v2i32 V64:$opB))))),
5726- (UABDLv2i32_v2i64 V64:$opA, V64:$opB)>;
5727- def : Pat<(abs (v2i64 (sub (zext (extract_high_v4i32 (v4i32 V128:$opA))),
5728- (zext (extract_high_v4i32 (v4i32 V128:$opB)))))),
5729- (UABDLv4i32_v2i64 V128:$opA, V128:$opB)>;
5730-
57315710defm ABS : SIMDTwoVectorBHSD<0, 0b01011, "abs", abs>;
57325711defm CLS : SIMDTwoVectorBHS<0, 0b00100, "cls", int_aarch64_neon_cls>;
57335712defm CLZ : SIMDTwoVectorBHS<1, 0b00100, "clz", ctlz>;
@@ -6810,7 +6789,8 @@ defm RSUBHN : SIMDNarrowThreeVectorBHS<1,0b0110,"rsubhn",int_aarch64_neon_rsubhn
68106789let isCommutable = 1 in
68116790defm PMULL : SIMDDifferentThreeVectorBD<0,0b1110,"pmull", AArch64pmull>;
68126791defm SABAL : SIMDLongThreeVectorTiedBHSabal<0,0b0101,"sabal", abds>;
6813- defm SABDL : SIMDLongThreeVectorBHSabdl<0, 0b0111, "sabdl", abds>;
6792+ defm SABDL : SIMDLongThreeVectorBHS<0, 0b0111, "sabdl",
6793+ BinOpFrag<(zext (abds node:$LHS, node:$RHS))>>;
68146794defm SADDL : SIMDLongThreeVectorBHS< 0, 0b0000, "saddl",
68156795 BinOpFrag<(add (sext node:$LHS), (sext node:$RHS))>>;
68166796defm SADDW : SIMDWideThreeVectorBHS< 0, 0b0001, "saddw",
@@ -6830,6 +6810,8 @@ defm SSUBL : SIMDLongThreeVectorBHS<0, 0b0010, "ssubl",
68306810defm SSUBW : SIMDWideThreeVectorBHS<0, 0b0011, "ssubw",
68316811 BinOpFrag<(sub node:$LHS, (sext node:$RHS))>>;
68326812defm UABAL : SIMDLongThreeVectorTiedBHSabal<1, 0b0101, "uabal", abdu>;
6813+ defm UABDL : SIMDLongThreeVectorBHS<1, 0b0111, "uabdl",
6814+ BinOpFrag<(zext (abdu node:$LHS, node:$RHS))>>;
68336815defm UADDL : SIMDLongThreeVectorBHS<1, 0b0000, "uaddl",
68346816 BinOpFrag<(add (zanyext node:$LHS), (zanyext node:$RHS))>>;
68356817defm UADDW : SIMDWideThreeVectorBHS<1, 0b0001, "uaddw",
0 commit comments