EVT DstTy = TLI->getValueType(DL, Dst);
if (!SrcTy.isSimple() || !DstTy.isSimple())
- return BaseT::getCastInstrCost(Opcode, Dst, Src, CostKind);
+ return BaseT::getCastInstrCost(Opcode, Dst, Src, CostKind, I);
static const TypeConversionCostTblEntry
ConversionTbl[] = {
SrcTy.getSimpleVT()))
return Entry->Cost;
- return BaseT::getCastInstrCost(Opcode, Dst, Src, CostKind);
+ return BaseT::getCastInstrCost(Opcode, Dst, Src, CostKind, I);
}
int AArch64TTIImpl::getExtractWithExtendCost(unsigned Opcode, Type *Dst,
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv2i16 = load <2 x i16>, <2 x i16>* undef
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv4i16 = load <4 x i16>, <4 x i16>* undef
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv2i32 = load <2 x i32>, <2 x i32>* undef
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r0 = sext i8 %loadi8 to i16
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r1 = zext i8 %loadi8 to i16
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r2 = sext i8 %loadi8 to i32
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r3 = zext i8 %loadi8 to i32
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r4 = sext i8 %loadi8 to i64
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i8 %loadi8 to i16
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i8 %loadi8 to i16
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i8 %loadi8 to i32
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r3 = zext i8 %loadi8 to i32
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r4 = sext i8 %loadi8 to i64
; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r5 = zext i8 %loadi8 to i64
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r6 = sext i16 %loadi16 to i32
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r7 = zext i16 %loadi16 to i32
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r8 = sext i16 %loadi16 to i64
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r6 = sext i16 %loadi16 to i32
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r7 = zext i16 %loadi16 to i32
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r8 = sext i16 %loadi16 to i64
; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r9 = zext i16 %loadi16 to i64
-; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r10 = sext i32 %loadi32 to i64
+; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r10 = sext i32 %loadi32 to i64
; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r11 = zext i32 %loadi32 to i64
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v0 = sext <8 x i8> %loadv8i8 to <8 x i16>
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v1 = zext <8 x i8> %loadv8i8 to <8 x i16>