[clang] [Clang] Remove 3-element vector load and store special handling (PR #104661)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 17 01:04:02 PST 2025
================
@@ -52,6 +52,17 @@ class AMDGPUABIInfo final : public DefaultABIInfo {
void computeInfo(CGFunctionInfo &FI) const override;
RValue EmitVAArg(CodeGenFunction &CGF, Address VAListAddr, QualType Ty,
AggValueSlot Slot) const override;
+
+ llvm::FixedVectorType *
+ getOptimalVectorType(llvm::FixedVectorType *T,
+ const LangOptions &Opt) const override {
+ // We have legal instructions for 96-bit so 3x32 can be supported.
+ // FIXME: This check should be a subtarget feature as technically SI doesn't
+ // support it.
+ if (T->getNumElements() == 3 && getDataLayout().getTypeSizeInBits(T) == 96)
----------------
arsenm wrote:
Yes, it should be any 96-bit access
https://github.com/llvm/llvm-project/pull/104661
More information about the cfe-commits
mailing list