[llvm] r181268 - R600/SI: Handle arbitrary destination type in SITargetLowering::adjustWritemask

Tom Stellard thomas.stellard at amd.com
Mon May 6 16:02:16 PDT 2013


Author: tstellar
Date: Mon May  6 18:02:15 2013
New Revision: 181268

URL: http://llvm.org/viewvc/llvm-project?rev=181268&view=rev
Log:
R600/SI: Handle arbitrary destination type in SITargetLowering::adjustWritemask

Patch by: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

Modified:
    llvm/trunk/lib/Target/R600/SIISelLowering.cpp

Modified: llvm/trunk/lib/Target/R600/SIISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/SIISelLowering.cpp?rev=181268&r1=181267&r2=181268&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/SIISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/R600/SIISelLowering.cpp Mon May  6 18:02:15 2013
@@ -756,7 +756,7 @@ void SITargetLowering::adjustWritemask(M
   if (Writemask == (1U << Lane)) {
     SDValue RC = DAG.getTargetConstant(AMDGPU::VReg_32RegClassID, MVT::i32);
     SDNode *Copy = DAG.getMachineNode(TargetOpcode::COPY_TO_REGCLASS,
-                                      DebugLoc(), MVT::f32,
+                                      DebugLoc(), Users[Lane]->getValueType(0),
                                       SDValue(Node, 0), RC);
     DAG.ReplaceAllUsesWith(Users[Lane], Copy);
     return;





More information about the llvm-commits mailing list