diff options
author | Tom Stellard <[email protected]> | 2012-08-23 21:22:48 +0000 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2012-08-23 21:54:32 +0000 |
commit | 1bd7b29a661a336dbc96c160197c739657991ef3 (patch) | |
tree | cc8296cae3ff5c8416f2b7be2a75fc8d4945ff1c /src/gallium/drivers/radeon/R600ISelLowering.cpp | |
parent | 2ad8608cb3e6a8d2f375ad2295504167b082711f (diff) |
radeon/llvm: Use correct instruction for moving immediates
This should fix an assertion failure that was happening in some compute
shaders.
Diffstat (limited to 'src/gallium/drivers/radeon/R600ISelLowering.cpp')
-rw-r--r-- | src/gallium/drivers/radeon/R600ISelLowering.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeon/R600ISelLowering.cpp b/src/gallium/drivers/radeon/R600ISelLowering.cpp index afa80c5c4dc..376ac70c62c 100644 --- a/src/gallium/drivers/radeon/R600ISelLowering.cpp +++ b/src/gallium/drivers/radeon/R600ISelLowering.cpp @@ -125,7 +125,8 @@ MachineBasicBlock * R600TargetLowering::EmitInstrWithCustomInserter( // XXX In theory, we should be able to pass ShiftValue directly to // the LSHR_eg instruction as an inline literal, but I tried doing it // this way and it didn't produce the correct results. - BuildMI(*BB, I, BB->findDebugLoc(I), TII->get(AMDGPU::MOV), ShiftValue) + BuildMI(*BB, I, BB->findDebugLoc(I), TII->get(AMDGPU::MOV_IMM_I32), + ShiftValue) .addReg(AMDGPU::ALU_LITERAL_X) .addReg(AMDGPU::PRED_SEL_OFF) .addImm(2); |