@@ -5211,34 +5211,34 @@ AArch64TTIImpl::getArithmeticReductionCost(unsigned Opcode, VectorType *ValTy,
5211
5211
// XOR: llvm/test/CodeGen/AArch64/reduce-xor.ll
5212
5212
// AND: llvm/test/CodeGen/AArch64/reduce-and.ll
5213
5213
static const CostTblEntry CostTblNoPairwise[]{
5214
- {ISD::ADD, MVT::v8i8, 2 },
5215
- {ISD::ADD, MVT::v16i8, 2 },
5216
- {ISD::ADD, MVT::v4i16, 2 },
5217
- {ISD::ADD, MVT::v8i16, 2 },
5218
- {ISD::ADD, MVT::v2i32, 2 },
5219
- {ISD::ADD, MVT::v4i32, 2 },
5220
- {ISD::ADD, MVT::v2i64, 2 },
5221
- {ISD::OR, MVT::v8i8, 15 },
5222
- {ISD::OR, MVT::v16i8, 17 },
5223
- {ISD::OR, MVT::v4i16, 7 },
5224
- {ISD::OR, MVT::v8i16, 9 },
5225
- {ISD::OR, MVT::v2i32, 3 },
5226
- {ISD::OR, MVT::v4i32, 5 },
5227
- {ISD::OR, MVT::v2i64, 3 },
5228
- {ISD::XOR, MVT::v8i8, 15 },
5229
- {ISD::XOR, MVT::v16i8, 17 },
5230
- {ISD::XOR, MVT::v4i16, 7 },
5231
- {ISD::XOR, MVT::v8i16, 9 },
5232
- {ISD::XOR, MVT::v2i32, 3 },
5233
- {ISD::XOR, MVT::v4i32, 5 },
5234
- {ISD::XOR, MVT::v2i64, 3 },
5235
- {ISD::AND, MVT::v8i8, 15 },
5236
- {ISD::AND, MVT::v16i8, 17 },
5237
- {ISD::AND, MVT::v4i16, 7 },
5238
- {ISD::AND, MVT::v8i16, 9 },
5239
- {ISD::AND, MVT::v2i32, 3 },
5240
- {ISD::AND, MVT::v4i32, 5 },
5241
- {ISD::AND, MVT::v2i64, 3 },
5214
+ {ISD::ADD, MVT::v8i8, 2 },
5215
+ {ISD::ADD, MVT::v16i8, 2 },
5216
+ {ISD::ADD, MVT::v4i16, 2 },
5217
+ {ISD::ADD, MVT::v8i16, 2 },
5218
+ {ISD::ADD, MVT::v2i32, 2 },
5219
+ {ISD::ADD, MVT::v4i32, 2 },
5220
+ {ISD::ADD, MVT::v2i64, 2 },
5221
+ {ISD::OR, MVT::v8i8, 5 }, // fmov + orr_lsr + orr_lsr + lsr + orr
5222
+ {ISD::OR, MVT::v16i8, 7 }, // ext + orr + same as v8i8
5223
+ {ISD::OR, MVT::v4i16, 4 }, // fmov + orr_lsr + lsr + orr
5224
+ {ISD::OR, MVT::v8i16, 6 }, // ext + orr + same as v4i16
5225
+ {ISD::OR, MVT::v2i32, 3 }, // fmov + lsr + orr
5226
+ {ISD::OR, MVT::v4i32, 5 }, // ext + orr + same as v2i32
5227
+ {ISD::OR, MVT::v2i64, 3 }, // ext + orr + fmov
5228
+ {ISD::XOR, MVT::v8i8, 5 }, // Same as above for or...
5229
+ {ISD::XOR, MVT::v16i8, 7 },
5230
+ {ISD::XOR, MVT::v4i16, 4 },
5231
+ {ISD::XOR, MVT::v8i16, 6 },
5232
+ {ISD::XOR, MVT::v2i32, 3 },
5233
+ {ISD::XOR, MVT::v4i32, 5 },
5234
+ {ISD::XOR, MVT::v2i64, 3 },
5235
+ {ISD::AND, MVT::v8i8, 5 }, // Same as above for or...
5236
+ {ISD::AND, MVT::v16i8, 7 },
5237
+ {ISD::AND, MVT::v4i16, 4 },
5238
+ {ISD::AND, MVT::v8i16, 6 },
5239
+ {ISD::AND, MVT::v2i32, 3 },
5240
+ {ISD::AND, MVT::v4i32, 5 },
5241
+ {ISD::AND, MVT::v2i64, 3 },
5242
5242
};
5243
5243
switch (ISD) {
5244
5244
default :
0 commit comments