diff options
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp index 75d201245b8..8db2ee21603 100644 --- a/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp +++ b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp @@ -372,7 +372,10 @@ static bool tryAddToFoldList(SmallVectorImpl<FoldCandidate> &FoldList,          assert(MI->getOperand(1).isDef()); -        int Op32 =  AMDGPU::getVOPe32(Opc); +        // Make sure to get the 32-bit version of the commuted opcode. +        unsigned MaybeCommutedOpc = MI->getOpcode(); +        int Op32 = AMDGPU::getVOPe32(MaybeCommutedOpc); +          FoldList.push_back(FoldCandidate(MI, CommuteOpNo, OpToFold, true,                                           Op32));          return true;  | 

