[llvm] [AArch64] Align nontemporal store/load little-endian checks (PR #177468)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 27 06:08:02 PST 2026
================
@@ -405,17 +406,34 @@ class AArch64TTIImpl final : public BasicTTIImplBase<AArch64TTIImpl> {
return NumElements > 1 && isPowerOf2_64(NumElements) && EltSize >= 8 &&
EltSize <= 128 && isPowerOf2_64(EltSize);
}
- return BaseT::isLegalNTStore(DataType, Alignment);
+ return std::nullopt;
}
bool isLegalNTStore(Type *DataType, Align Alignment) const override {
- return isLegalNTStoreLoad(DataType, Alignment);
+ // Currently we only support NT stores lowering for little-endian targets.
+ //
+ // Coordinated with STNP constraints in
+ // `llvm/lib/Target/AArch64/AArch64InstrInfo.td` and
+ // `AArch64TargetLowering::LowerNTStore`
+ if (!ST->isLittleEndian())
----------------
fhahn wrote:
can we check little endian in `isLegalNTStoreLoad` as well?
https://github.com/llvm/llvm-project/pull/177468
More information about the llvm-commits
mailing list