@@ -55,14 +55,15 @@ define dso_local spir_func void @_Z19callee__sret__param(ptr addrspace(4) noalia
55
55
; CHECK: define dso_local spir_func <16 x float> @_Z19callee__sret__param(<16 x float> %[[PARAM:.+]])
56
56
entry:
57
57
; CHECK: %[[ALLOCA1:.+]] = alloca <16 x float>, align 64
58
+ ; CHECK: %[[CAST1:.+]] = addrspacecast ptr %[[ALLOCA1]] to ptr addrspace(4)
58
59
; CHECK: %[[ALLOCA2:.+]] = alloca <16 x float>, align 64
59
60
; CHECK: store <16 x float> %[[PARAM]], ptr %[[ALLOCA2]], align 64
60
61
%x.ascast = addrspacecast ptr %x to ptr addrspace (4 )
61
62
; CHECK: %[[ALLOCA2_4:.+]] = addrspacecast ptr %[[ALLOCA2]] to ptr addrspace(4)
62
63
%call.i.i.i1 = load <16 x float >, ptr addrspace (4 ) %x.ascast , align 64
63
64
; CHECK: %[[VAL:.+]] = load <16 x float>, ptr addrspace(4) %[[ALLOCA2_4]], align 64
64
65
store <16 x float > %call.i.i.i1 , ptr addrspace (4 ) %agg.result , align 64
65
- ; CHECK: store <16 x float> %[[VAL]], ptr %[[ALLOCA1 ]], align 64
66
+ ; CHECK: store <16 x float> %[[VAL]], ptr addrspace(4) %[[CAST1 ]], align 64
66
67
ret void
67
68
; CHECK: %[[RET:.+]] = load <16 x float>, ptr %[[ALLOCA1]], align 64
68
69
; CHECK: ret <16 x float> %[[RET]]
@@ -74,6 +75,7 @@ define dso_local spir_func void @_Z29test__sret__fall_through__arr(ptr addrspace
74
75
; CHECK: define dso_local spir_func <16 x float> @_Z29test__sret__fall_through__arr(ptr addrspace(4) noundef %[[PARAM0:.+]], i32 noundef %{{.*}})
75
76
entry:
76
77
; CHECK: %[[ALLOCA1:.+]] = alloca <16 x float>, align 64
78
+ ; CHECK: %[[CAST1:.+]] = addrspacecast ptr %[[ALLOCA1]] to ptr addrspace(4)
77
79
%agg.tmp = alloca %"class.sycl::_V1::ext::intel::esimd::simd" , align 64
78
80
; CHECK: %[[ALLOCA2:.+]] = alloca %"class.sycl::_V1::ext::intel::esimd::simd", align 64
79
81
%agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace (4 )
85
87
; CHECK: %[[VAL:.+]] = load <16 x float>, ptr %[[ALLOCA2]], align 64
86
88
call spir_func void @_Z19callee__sret__param (ptr addrspace (4 ) sret (%"class.sycl::_V1::ext::intel::esimd::simd" ) align 64 %agg.result , ptr noundef nonnull %agg.tmp ) #7
87
89
; CHECK: %[[RES:.+]] = call spir_func <16 x float> @_Z19callee__sret__param(<16 x float> %[[VAL]])
88
- ; CHECK: store <16 x float> %[[RES]], ptr %[[ALLOCA1 ]], align 64
90
+ ; CHECK: store <16 x float> %[[RES]], ptr addrspace(4) %[[CAST1 ]], align 64
89
91
ret void
90
92
; CHECK: %[[RET:.+]] = load <16 x float>, ptr %[[ALLOCA1]], align 64
91
93
; CHECK: ret <16 x float> %[[RET]]
96
98
define dso_local spir_func void @_Z30test__sret__fall_through__globv (ptr addrspace (4 ) noalias sret (%"class.sycl::_V1::ext::intel::esimd::simd" ) align 64 %agg.result ) local_unnamed_addr #2 !sycl_explicit_simd !8 !intel_reqd_sub_group_size !9 {
97
99
entry:
98
100
; CHECK: %[[ALLOCA1:.+]] = alloca <16 x float>, align 64
101
+ ; CHECK: %[[CAST1:.+]] = addrspacecast ptr %[[ALLOCA1]] to ptr addrspace(4)
99
102
%agg.tmp = alloca %"class.sycl::_V1::ext::intel::esimd::simd" , align 64
100
103
; CHECK: %[[ALLOCA2:.+]] = alloca %"class.sycl::_V1::ext::intel::esimd::simd", align 64
101
104
%agg.tmp.ascast = addrspacecast ptr %agg.tmp to ptr addrspace (4 )
@@ -105,7 +108,7 @@ entry:
105
108
; CHECK: %[[VAL:.+]] = load <16 x float>, ptr %[[ALLOCA2]], align 64
106
109
call spir_func void @_Z19callee__sret__param (ptr addrspace (4 ) sret (%"class.sycl::_V1::ext::intel::esimd::simd" ) align 64 %agg.result , ptr noundef nonnull %agg.tmp ) #7
107
110
; CHECK: %[[RES:.+]] = call spir_func <16 x float> @_Z19callee__sret__param(<16 x float> %[[VAL]])
108
- ; CHECK: store <16 x float> %[[RES]], ptr %[[ALLOCA1 ]], align 64
111
+ ; CHECK: store <16 x float> %[[RES]], ptr addrspace(4) %[[CAST1 ]], align 64
109
112
ret void
110
113
; CHECK: %[[RET:.+]] = load <16 x float>, ptr %[[ALLOCA1]], align 64
111
114
; CHECK: ret <16 x float> %[[RET]]
0 commit comments