[llvm] update P7 v4i8 load cost (PR #108261)
zhijian lin via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 1 12:48:15 PDT 2024
================
@@ -802,12 +802,18 @@ InstructionCost PPCTTIImpl::getMemoryOpCost(unsigned Opcode, Type *Src,
// explicitly check this case. There are also corresponding store
// instructions.
unsigned MemBytes = Src->getPrimitiveSizeInBits();
- if (ST->hasVSX() && IsAltivecType &&
- (MemBytes == 64 || (ST->hasP8Vector() && MemBytes == 32)))
- return 1;
+ unsigned SrcBytes = LT.second.getStoreSize();
+ if (ST->hasVSX() && IsAltivecType) {
+ if (MemBytes == 64 || (ST->hasP8Vector() && MemBytes == 32))
+ return 1;
+
+ // Use lfiwax/xxspltw
+ Align AlignBytes = Alignment ? *Alignment : Align(1);
+ if (Opcode == Instruction::Load && MemBytes == 32 && AlignBytes < SrcBytes)
----------------
diggerlin wrote:
thanks for explaining.
https://github.com/llvm/llvm-project/pull/108261
More information about the llvm-commits
mailing list