@@ -29,13 +29,6 @@ int main(int argc, char *argv[]) {
29
29
sycl::access::target::local>
30
30
local (N, cgh);
31
31
32
- // Check that load/store functions for raw pointer was called
33
- //
34
- // CHECK: spir_kernel void @"_ZTSZZ4mainENK3$_0clERN2cl4sycl7handlerEE4test"
35
- // CHECK-COUNT-3: call spir_func i32
36
- // {{.*}}loadIiEENSt9enable_ifIXsr3std7is_sameINS0_6detail9remove_ASIT_E4typeES7_EE5valueES7_E4typeEPS7_{{.*}}i32
37
- // addrspace(4)*
38
- // CHECK: call spir_func void {{.*}}storeIiEENSt9enable_ifIXsr3std7is_sameINS0_6detail9remove_ASIT_E4typeES7_EE5valueEvE4typeEPS7_RKS9_({{.*}} addrspace(4)*{{.*}},
39
32
cgh.parallel_for <class test >(
40
33
cl::sycl::nd_range<1 >(N, 32 ), [=](cl::sycl::nd_item<1 > it) {
41
34
int v[N] = {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 ,
@@ -50,37 +43,42 @@ int main(int argc, char *argv[]) {
50
43
local[i] = i;
51
44
}
52
45
}
46
+ // CHECK: call void @_Z22__spirv_ControlBarrierjjj
53
47
it.barrier ();
54
48
55
49
int i = (it.get_global_id (0 ) / sg.get_max_local_range ()[0 ]) *
56
50
sg.get_max_local_range ()[0 ];
57
51
58
- // CHECK: spir_func i32{{.*}}loadIiEENSt9enable_ifIXsr3std7is_sameINS0_6detail9remove_ASIT_E4typeES7_EE5valueES7_E4typeEPS7_
52
+ // load for global address space
59
53
// CHECK: call spir_func i8 addrspace(3)* @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
60
- // CHECK: call spir_func i32 @_Z33__spirv_SubgroupLocalInvocationIdv
54
+ // CHECK: call spir_func i32 @_Z33__spirv_SubgroupLocalInvocationIdv()
61
55
// CHECK: call spir_func i8 addrspace(1)* @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
62
56
// CHECK: call spir_func i32 @_Z30__spirv_SubgroupBlockReadINTELIjET_PU3AS1Kj(i32 addrspace(1)*
63
- // CHECK: call spir_func i8* @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
64
57
// CHECK: call spir_func void {{.*}}assert
65
- // CHECK: call spir_func i8 addrspace(4)* @_Z24__spirv_PtrCastToGenericPKv(i8 addrspace(4)*
66
- // CHECK: call spir_func i32 @_Z30__spirv_SubgroupBlockReadINTELIjET_PU3AS1Kj(i32 addrspace(1)*
67
- // Global address space
68
58
auto x = sg.load (&global[i]);
69
59
70
- // Local address space
60
+ // load() for local address space
61
+ // CHECK: call spir_func i8 addrspace(3)* @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
62
+ // CHECK: call spir_func i32 @_Z33__spirv_SubgroupLocalInvocationIdv()
63
+ // CHECK: call spir_func i8 addrspace(1)* @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
64
+ // CHECK: call spir_func i32 @_Z30__spirv_SubgroupBlockReadINTELIjET_PU3AS1Kj(i32 addrspace(1)*
65
+ // CHECK: call spir_func void {{.*}}assert
71
66
auto y = sg.load (&local[i]);
72
67
68
+ // load() for private address space
69
+ // CHECK: call spir_func i8 addrspace(3)* @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
70
+ // CHECK: call spir_func i32 @_Z33__spirv_SubgroupLocalInvocationIdv()
71
+ // CHECK: call spir_func i8 addrspace(1)* @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
72
+ // CHECK: call spir_func i32 @_Z30__spirv_SubgroupBlockReadINTELIjET_PU3AS1Kj(i32 addrspace(1)*
73
+ // CHECK: call spir_func void {{.*}}assert
73
74
auto z = sg.load (v + i);
74
75
75
- // CHECK: spir_func void {{.*}}storeIiEENSt9enable_ifIXsr3std7is_sameINS0_6detail9remove_ASIT_E4typeES7_EE5valueEvE4typeEPS7_RKS9_
76
+ // store() for global address space
76
77
// CHECK: call spir_func i8 addrspace(3)* @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
77
- // CHECK: call spir_func i32 @_Z33__spirv_SubgroupLocalInvocationIdv
78
+ // CHECK: call spir_func i32 @_Z33__spirv_SubgroupLocalInvocationIdv() #7, !noalias !29
78
79
// CHECK: call spir_func i8 addrspace(1)* @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
79
80
// CHECK: call spir_func void @_Z31__spirv_SubgroupBlockWriteINTELIjEvPU3AS1jT_(i32 addrspace(1)*
80
- // CHECK: call spir_func i8* @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePKvN5__spv12StorageClass4FlagE(i8 addrspace(4)*
81
81
// CHECK: call spir_func void {{.*}}assert
82
- // CHECK: call spir_func i8 addrspace(4)* @_Z24__spirv_PtrCastToGenericPKv(i8 addrspace(4)*
83
- // CHECK: call spir_func void @_Z31__spirv_SubgroupBlockWriteINTELIjEvPU3AS1jT_(i32 addrspace(1)*
84
82
sg.store (&global[i], x + y + z);
85
83
});
86
84
});
0 commit comments