diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUGISel.td | 3 | ||||
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUGISel.td b/llvm/lib/Target/AMDGPU/AMDGPUGISel.td index 6f725d60907..accb8eac9f0 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUGISel.td +++ b/llvm/lib/Target/AMDGPU/AMDGPUGISel.td @@ -128,6 +128,9 @@ multiclass GISelVop2IntrPat < def : GISelSop2Pat <or, S_OR_B32, i32>; def : GISelVop2Pat <or, V_OR_B32_e32, i32>; +def : GISelSop2Pat <add, S_ADD_I32, i32>; +def : GISelVop2Pat <add, V_ADD_I32_e32, i32>; + def : GISelSop2Pat <sra, S_ASHR_I32, i32>; let AddedComplexity = 100 in { let SubtargetPredicate = isGFX6GFX7 in { diff --git a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp index a084b5d31da..2c238f05752 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp @@ -1056,10 +1056,12 @@ bool AMDGPUInstructionSelector::select(MachineInstr &I, } switch (I.getOpcode()) { + case TargetOpcode::G_ADD: + if (selectG_ADD(I)) + return true; + LLVM_FALLTHROUGH; default: return selectImpl(I, CoverageInfo); - case TargetOpcode::G_ADD: - return selectG_ADD(I); case TargetOpcode::G_INTTOPTR: case TargetOpcode::G_BITCAST: return selectCOPY(I); |

