[llvm] r189224 - SelectionDAG: Use correct pointer size when splitting vector stores

Tom Stellard thomas.stellard at amd.com
Mon Aug 26 08:05:55 PDT 2013


Author: tstellar
Date: Mon Aug 26 10:05:55 2013
New Revision: 189224

URL: http://llvm.org/viewvc/llvm-project?rev=189224&view=rev
Log:
SelectionDAG: Use correct pointer size when splitting vector stores

Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    llvm/trunk/test/CodeGen/R600/store.ll

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp?rev=189224&r1=189223&r2=189224&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp Mon Aug 26 10:05:55 2013
@@ -1270,7 +1270,7 @@ SDValue DAGTypeLegalizer::SplitVecOp_STO
 
   // Increment the pointer to the other half.
   Ptr = DAG.getNode(ISD::ADD, DL, Ptr.getValueType(), Ptr,
-                    DAG.getIntPtrConstant(IncrementSize));
+                    DAG.getConstant(IncrementSize, Ptr.getValueType()));
 
   if (isTruncating)
     Hi = DAG.getTruncStore(Ch, DL, Hi, Ptr,

Modified: llvm/trunk/test/CodeGen/R600/store.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/store.ll?rev=189224&r1=189223&r2=189224&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/R600/store.ll (original)
+++ llvm/trunk/test/CodeGen/R600/store.ll Mon Aug 26 10:05:55 2013
@@ -202,6 +202,21 @@ entry:
   ret void
 }
 
+; EG-CHECK: @store_local_v4i8
+; EG-CHECK: LDS_WRITE
+; CM-CHECK: @store_local_v4i8
+; CM-CHECK: LDS_WRITE
+; SI-CHECK: @store_local_v4i8
+; SI-CHECK: DS_WRITE_B8
+; SI-CHECK: DS_WRITE_B8
+; SI-CHECK: DS_WRITE_B8
+; SI-CHECK: DS_WRITE_B8
+define void @store_local_v4i8(<4 x i8> addrspace(3)* %out, <4 x i8> %in) {
+entry:
+  store <4 x i8> %in, <4 x i8> addrspace(3)* %out
+  ret void
+}
+
 ; EG-CHECK: @store_local_v2i32
 ; EG-CHECK: LDS_WRITE
 ; EG-CHECK: LDS_WRITE





More information about the llvm-commits mailing list