[PATCH] D58899: [CodeGen] Prepare for introduction of v3 and v5 MVTs
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 4 07:34:14 PST 2019
arsenm added a comment.
The ARM patch at least should be split into a separate patch
================
Comment at: lib/Target/AMDGPU/AMDGPUISelLowering.cpp:1034
MemVT = MemVT.getPow2VectorType(State.getContext());
- }
+ else
+ assert(!MemVT.isExtended() &&
----------------
Braces
================
Comment at: lib/Target/AMDGPU/AMDGPUISelLowering.cpp:1036
+ assert(!MemVT.isExtended() &&
+ (!MemVT.isVector() || MemVT.isPow2VectorType()));
----------------
Should also make sure to add some 5x vector argument tests to the kernarg tests since you are adding those
================
Comment at: lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp:343
EVT OrigTy = TLI->getValueType(DL, Ty);
- if (!OrigTy.isSimple()) {
+ if (!OrigTy.isSimple() || (OrigTy.isVector() && !OrigTy.isPow2VectorType())) {
return BaseT::getArithmeticInstrCost(Opcode, Ty, Opd1Info, Opd2Info,
----------------
This could use a test in test/Analysis/CostModel/AMDGPU
================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:12153
unsigned NumLanes = Op.getValueType().getVectorNumElements();
- if (FloatBits != 32 || IntBits > 32 || NumLanes > 4) {
+ if (FloatBits != 32 || IntBits > 32 || NumLanes > 4 || NumLanes == 3) {
// These instructions only exist converting from f32 to i32. We can handle
----------------
Combine the last 2 checks into NumLanes >= 3
================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:12211
unsigned NumLanes = Op.getValueType().getVectorNumElements();
- if (FloatBits != 32 || IntBits > 32 || NumLanes > 4) {
+ if (FloatBits != 32 || IntBits > 32 || NumLanes > 4 || NumLanes == 3) {
// These instructions only exist converting from i32 to f32. We can handle
----------------
Ditto
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58899/new/
https://reviews.llvm.org/D58899
More information about the llvm-commits
mailing list