summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-08-23 21:22:48 +0000
committerTom Stellard <[email protected]>2012-08-23 21:54:32 +0000
commit1bd7b29a661a336dbc96c160197c739657991ef3 (patch)
treecc8296cae3ff5c8416f2b7be2a75fc8d4945ff1c
parent2ad8608cb3e6a8d2f375ad2295504167b082711f (diff)
radeon/llvm: Use correct instruction for moving immediates
This should fix an assertion failure that was happening in some compute shaders.
-rw-r--r--src/gallium/drivers/radeon/R600ISelLowering.cpp3
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);