Use concrete natural type alignment for masked load/store operations instead of 0.

This commit is contained in:
Guillaume Chatelet 2020-06-24 21:26:03 +00:00
parent 5ab8005ee3
commit ea70cf12c0

View File

@ -1388,11 +1388,12 @@ public:
case Intrinsic::sideeffect:
return 0;
case Intrinsic::masked_store:
return ConcreteTTI->getMaskedMemoryOpCost(Instruction::Store, Tys[0], 0,
return ConcreteTTI->getMaskedMemoryOpCost(Instruction::Store, Tys[0],
DL.getABITypeAlignment(Tys[0]),
0, CostKind);
case Intrinsic::masked_load:
return ConcreteTTI->getMaskedMemoryOpCost(Instruction::Load, RetTy, 0, 0,
CostKind);
return ConcreteTTI->getMaskedMemoryOpCost(
Instruction::Load, RetTy, DL.getABITypeAlignment(RetTy), 0, CostKind);
case Intrinsic::experimental_vector_reduce_add:
return ConcreteTTI->getArithmeticReductionCost(Instruction::Add, VecOpTy,
/*IsPairwiseForm=*/false,