AMDGPU: Fix splitting SMRD with large offset
[oota-llvm.git] / lib / Target / AMDGPU / SIInstrInfo.cpp
index 8fd065d95abcb0b0c227cce75cbcc1ec540ae578..9419afebd26e5dacb1fd32d1aca0e836b4f0147e 100644 (file)
@@ -2033,7 +2033,7 @@ void SIInstrInfo::splitSMRD(MachineInstr *MI,
     BuildMI(*MBB, MI, DL, get(AMDGPU::S_ADD_I32), OffsetSGPR)
             .addOperand(*SOff)
             .addImm(HalfSize);
-    Hi = BuildMI(*MBB, MI, DL, get(HalfSGPROp))
+    Hi = BuildMI(*MBB, MI, DL, get(HalfSGPROp), RegHi)
                   .addReg(SBase->getReg(), getKillRegState(IsKill),
                           SBase->getSubReg())
                   .addReg(OffsetSGPR);