@@ -13,10 +13,6 @@ void kernel() __attribute__((sycl_device)) {
13
13
simd<int , 32 > v1 (0 , 1 );
14
14
15
15
auto v0 = slm_load<int , 32 >(offsets);
16
- auto v2 = slm_load<float , 32 >(offsets);
17
- // expected-error@+2 {{no matching function for call to 'slm_load'}}
18
- // expected-note@sycl/ext/intel/experimental/esimd/memory.hpp:* {{candidate template ignored}}
19
- auto v3 = slm_load<double , 32 >(offsets);
20
16
21
17
esimd_fence (3 );
22
18
esimd_barrier ();
@@ -25,3 +21,23 @@ void kernel() __attribute__((sycl_device)) {
25
21
26
22
slm_store<int , 32 >(v0, offsets);
27
23
}
24
+
25
+ void slm_supported_types () __attribute__((sycl_device)) {
26
+ simd<uint32_t , 32 > offsets (0 , 1 );
27
+ auto v1 = slm_load<char , 32 >(offsets);
28
+ auto v2 = slm_load<short , 32 >(offsets);
29
+ auto v3 = slm_load<int , 32 >(offsets);
30
+ auto v4 = slm_load<float , 32 >(offsets);
31
+ // expected-error@+2 {{no matching function for call to 'slm_load'}}
32
+ // expected-note@sycl/ext/intel/experimental/esimd/memory.hpp:* {{candidate template ignored}}
33
+ auto v5 = slm_load<double , 32 >(offsets);
34
+
35
+ slm_store<char , 32 >(v1, offsets);
36
+ slm_store<short , 32 >(v2, offsets);
37
+ slm_store<int , 32 >(v3, offsets);
38
+ slm_store<float , 32 >(v4, offsets);
39
+ simd<double , 32 > v6 (0 , 1 );
40
+ // expected-error@+2 {{no matching function for call to 'slm_store'}}
41
+ // expected-note@sycl/ext/intel/experimental/esimd/memory.hpp:* {{candidate template ignored}}
42
+ slm_store<double , 32 >(v6, offsets);
43
+ }
0 commit comments