R600/SI: Use scratch memory for large private arrays
[oota-llvm.git] / test / CodeGen / R600 / indirect-private-64.ll
index 2f628458387fb47fe325adf8dd41936ceefab0f5..00331e6696dca2ce6ce2ed564dd5a3e1e4f45947 100644 (file)
@@ -6,10 +6,10 @@ declare void @llvm.AMDGPU.barrier.local() noduplicate nounwind
 
 ; SI-LABEL: @private_access_f64_alloca:
 
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
+; SI-ALLOCA: BUFFER_STORE_DWORDX2
+; FIXME: We should be able to use BUFFER_LOAD_DWORDX2
+; SI-ALLOCA: BUFFER_LOAD_DWORD
+; SI-ALLOCA: BUFFER_LOAD_DWORD
 
 ; SI-PROMOTE: DS_WRITE_B64
 ; SI-PROMOTE: DS_READ_B64
@@ -26,10 +26,12 @@ define void @private_access_f64_alloca(double addrspace(1)* noalias %out, double
 
 ; SI-LABEL: @private_access_v2f64_alloca:
 
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
+; SI-ALLOCA: BUFFER_STORE_DWORDX4
+; FIXME: We should be able to use BUFFER_LOAD_DWORDX4
+; SI-ALLOCA: BUFFER_LOAD_DWORD
+; SI-ALLOCA: BUFFER_LOAD_DWORD
+; SI-ALLOCA: BUFFER_LOAD_DWORD
+; SI-ALLOCA: BUFFER_LOAD_DWORD
 
 ; SI-PROMOTE: DS_WRITE_B32
 ; SI-PROMOTE: DS_WRITE_B32
@@ -52,10 +54,10 @@ define void @private_access_v2f64_alloca(<2 x double> addrspace(1)* noalias %out
 
 ; SI-LABEL: @private_access_i64_alloca:
 
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
+; SI-ALLOCA: BUFFER_STORE_DWORDX2
+; FIXME: We should be able to use BUFFER_LOAD_DWORDX2
+; SI-ALLOCA: BUFFER_LOAD_DWORD
+; SI-ALLOCA: BUFFER_LOAD_DWORD
 
 ; SI-PROMOTE: DS_WRITE_B64
 ; SI-PROMOTE: DS_READ_B64
@@ -72,14 +74,12 @@ define void @private_access_i64_alloca(i64 addrspace(1)* noalias %out, i64 addrs
 
 ; SI-LABEL: @private_access_v2i64_alloca:
 
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELD_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
-; SI-ALLOCA: V_MOVRELS_B32_e32
+; SI-ALLOCA: BUFFER_STORE_DWORDX4
+; FIXME: We should be able to use BUFFER_LOAD_DWORDX4
+; SI-ALLOCA: BUFFER_LOAD_DWORD
+; SI-ALLOCA: BUFFER_LOAD_DWORD
+; SI-ALLOCA: BUFFER_LOAD_DWORD
+; SI-ALLOCA: BUFFER_LOAD_DWORD
 
 ; SI-PROMOTE: DS_WRITE_B32
 ; SI-PROMOTE: DS_WRITE_B32