[PATCH] [AArch64] Change default legalization behavior of v1i32 to be widen to v2i32 instead of scalarization
Matt Arsenault
Matthew.Arsenault at amd.com
Wed Jul 2 13:51:32 PDT 2014
================
Comment at: lib/Target/R600/SIISelLowering.cpp:274-280
@@ -273,4 +273,9 @@
-bool SITargetLowering::shouldSplitVectorType(EVT VT) const {
- return VT.getScalarType().bitsLE(MVT::i16);
+TargetLoweringBase::LegalizeTypeAction
+SITargetLowering::getPreferredVectorAction(EVT VT) const {
+ if (VT.getVectorNumElements() == 1)
+ return TypeScalarizeVector;
+ if (VT.getScalarType().bitsLE(MVT::i16))
+ return TypeSplitVector;
+ return TypePromoteInteger;
}
----------------
I think this should be TypeSplitVector for any vector > 128 bits, and TypePromoteInteger for scalar types < 32-bits and no more than 4 elements. I can take care of that later though
http://reviews.llvm.org/D4322
More information about the llvm-commits
mailing list