forked from OSchip/llvm-project
SelectionDAG: Use correct pointer size when splitting vector stores
llvm-svn: 189224
This commit is contained in:
parent
f3d166aa1e
commit
7da047c9fb
|
@ -1270,7 +1270,7 @@ SDValue DAGTypeLegalizer::SplitVecOp_STORE(StoreSDNode *N, unsigned OpNo) {
|
|||
|
||||
// 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,
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue