diff --git a/llvm/include/llvm/CodeGen/BasicTTIImpl.h b/llvm/include/llvm/CodeGen/BasicTTIImpl.h index abcd612c7b55..2eec38bbcc5d 100644 --- a/llvm/include/llvm/CodeGen/BasicTTIImpl.h +++ b/llvm/include/llvm/CodeGen/BasicTTIImpl.h @@ -1166,10 +1166,7 @@ public: break; case Intrinsic::memcpy: - // FIXME: all cost kinds should default to the same thing? - if (CostKind != TTI::TCK_RecipThroughput) - return thisT()->getMemcpyCost(ICA.getInst()); - return BaseT::getIntrinsicInstrCost(ICA, CostKind); + return thisT()->getMemcpyCost(ICA.getInst()); case Intrinsic::masked_scatter: { // FIXME: all cost kinds should default to the same thing? diff --git a/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll b/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll index c76585a51ef3..d3bf703513eb 100644 --- a/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll +++ b/llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll @@ -226,7 +226,7 @@ define void @reduce_fmax(<16 x float> %va) { define void @memcpy(i8* %a, i8* %b, i32 %c) { ; THRU-LABEL: 'memcpy' -; THRU-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %a, i8* align 1 %b, i32 32, i1 false) +; THRU-NEXT: Cost Model: Found an estimated cost of 4 for instruction: call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 1 %a, i8* align 1 %b, i32 32, i1 false) ; THRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; LATE-LABEL: 'memcpy'