From: Tom Stellard Date: Thu, 23 Aug 2012 21:22:48 +0000 (+0000) Subject: radeon/llvm: Use correct instruction for moving immediates X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1bd7b29a661a336dbc96c160197c739657991ef3;p=mesa.git radeon/llvm: Use correct instruction for moving immediates This should fix an assertion failure that was happening in some compute shaders. --- 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);