Skip to content

Commit 99e8dbe

Browse files
authored
[SYCL][libdevice] Use saturated __spirv builtin when convert fp16 to ull (#10277)
Signed-off-by: jinge90 <[email protected]>
1 parent 8e848cb commit 99e8dbe

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

libdevice/imf_utils/half_convert.cpp

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ _iml_half_internal __devicelib_imf_float2half_rz(float x) {
5555
DEVICE_EXTERN_C_INLINE
5656
int __devicelib_imf_half2int_rd(_iml_half_internal h) {
5757
#if defined(__SPIR__)
58-
return __spirv_ConvertFToS_Rint_rtn(h);
58+
return __spirv_ConvertFToS_Rint_sat_rtn(h);
5959
#else
6060
return __iml_half2integral_s<int>(h, __IML_RTN);
6161
#endif
@@ -64,7 +64,7 @@ int __devicelib_imf_half2int_rd(_iml_half_internal h) {
6464
DEVICE_EXTERN_C_INLINE
6565
int __devicelib_imf_half2int_rn(_iml_half_internal h) {
6666
#if defined(__SPIR__)
67-
return __spirv_ConvertFToS_Rint_rte(h);
67+
return __spirv_ConvertFToS_Rint_sat_rte(h);
6868
#else
6969
return __iml_half2integral_s<int>(h, __IML_RTE);
7070
#endif
@@ -73,7 +73,7 @@ int __devicelib_imf_half2int_rn(_iml_half_internal h) {
7373
DEVICE_EXTERN_C_INLINE
7474
int __devicelib_imf_half2int_ru(_iml_half_internal h) {
7575
#if defined(__SPIR__)
76-
return __spirv_ConvertFToS_Rint_rtp(h);
76+
return __spirv_ConvertFToS_Rint_sat_rtp(h);
7777
#else
7878
return __iml_half2integral_s<int>(h, __IML_RTP);
7979
#endif
@@ -82,7 +82,7 @@ int __devicelib_imf_half2int_ru(_iml_half_internal h) {
8282
DEVICE_EXTERN_C_INLINE
8383
int __devicelib_imf_half2int_rz(_iml_half_internal h) {
8484
#if defined(__SPIR__)
85-
return __spirv_ConvertFToS_Rint_rtz(h);
85+
return __spirv_ConvertFToS_Rint_sat_rtz(h);
8686
#else
8787
return __iml_half2integral_s<int>(h, __IML_RTZ);
8888
#endif
@@ -91,7 +91,7 @@ int __devicelib_imf_half2int_rz(_iml_half_internal h) {
9191
DEVICE_EXTERN_C_INLINE
9292
long long __devicelib_imf_half2ll_rd(_iml_half_internal h) {
9393
#if defined(__SPIR__)
94-
return __spirv_ConvertFToS_Rlong_rtn(h);
94+
return __spirv_ConvertFToS_Rlong_sat_rtn(h);
9595
#else
9696
return __iml_half2integral_s<long long>(h, __IML_RTN);
9797
#endif
@@ -100,7 +100,7 @@ long long __devicelib_imf_half2ll_rd(_iml_half_internal h) {
100100
DEVICE_EXTERN_C_INLINE
101101
long long __devicelib_imf_half2ll_rn(_iml_half_internal h) {
102102
#if defined(__SPIR__)
103-
return __spirv_ConvertFToS_Rlong_rte(h);
103+
return __spirv_ConvertFToS_Rlong_sat_rte(h);
104104
#else
105105
return __iml_half2integral_s<long long>(h, __IML_RTE);
106106
#endif
@@ -109,7 +109,7 @@ long long __devicelib_imf_half2ll_rn(_iml_half_internal h) {
109109
DEVICE_EXTERN_C_INLINE
110110
long long __devicelib_imf_half2ll_ru(_iml_half_internal h) {
111111
#if defined(__SPIR__)
112-
return __spirv_ConvertFToS_Rlong_rtp(h);
112+
return __spirv_ConvertFToS_Rlong_sat_rtp(h);
113113
#else
114114
return __iml_half2integral_s<long long>(h, __IML_RTP);
115115
#endif
@@ -118,7 +118,7 @@ long long __devicelib_imf_half2ll_ru(_iml_half_internal h) {
118118
DEVICE_EXTERN_C_INLINE
119119
long long __devicelib_imf_half2ll_rz(_iml_half_internal h) {
120120
#if defined(__SPIR__)
121-
return __spirv_ConvertFToS_Rlong_rtz(h);
121+
return __spirv_ConvertFToS_Rlong_sat_rtz(h);
122122
#else
123123
return __iml_half2integral_s<long long>(h, __IML_RTZ);
124124
#endif
@@ -127,7 +127,7 @@ long long __devicelib_imf_half2ll_rz(_iml_half_internal h) {
127127
DEVICE_EXTERN_C_INLINE
128128
short __devicelib_imf_half2short_rd(_iml_half_internal h) {
129129
#if defined(__SPIR__)
130-
return __spirv_ConvertFToS_Rshort_rtn(h);
130+
return __spirv_ConvertFToS_Rshort_sat_rtn(h);
131131
#else
132132
return __iml_half2integral_s<short>(h, __IML_RTN);
133133
#endif
@@ -136,7 +136,7 @@ short __devicelib_imf_half2short_rd(_iml_half_internal h) {
136136
DEVICE_EXTERN_C_INLINE
137137
short __devicelib_imf_half2short_rn(_iml_half_internal h) {
138138
#if defined(__SPIR__)
139-
return __spirv_ConvertFToS_Rshort_rte(h);
139+
return __spirv_ConvertFToS_Rshort_sat_rte(h);
140140
#else
141141
return __iml_half2integral_s<short>(h, __IML_RTE);
142142
#endif
@@ -145,7 +145,7 @@ short __devicelib_imf_half2short_rn(_iml_half_internal h) {
145145
DEVICE_EXTERN_C_INLINE
146146
short __devicelib_imf_half2short_ru(_iml_half_internal h) {
147147
#if defined(__SPIR__)
148-
return __spirv_ConvertFToS_Rshort_rtp(h);
148+
return __spirv_ConvertFToS_Rshort_sat_rtp(h);
149149
#else
150150
return __iml_half2integral_s<short>(h, __IML_RTP);
151151
#endif
@@ -154,7 +154,7 @@ short __devicelib_imf_half2short_ru(_iml_half_internal h) {
154154
DEVICE_EXTERN_C_INLINE
155155
short __devicelib_imf_half2short_rz(_iml_half_internal h) {
156156
#if defined(__SPIR__)
157-
return __spirv_ConvertFToS_Rshort_rtz(h);
157+
return __spirv_ConvertFToS_Rshort_sat_rtz(h);
158158
#else
159159
return __iml_half2integral_s<short>(h, __IML_RTZ);
160160
#endif
@@ -163,7 +163,7 @@ short __devicelib_imf_half2short_rz(_iml_half_internal h) {
163163
DEVICE_EXTERN_C_INLINE
164164
unsigned int __devicelib_imf_half2uint_rd(_iml_half_internal h) {
165165
#if defined(__SPIR__)
166-
return __spirv_ConvertFToU_Ruint_rtn(h);
166+
return __spirv_ConvertFToU_Ruint_sat_rtn(h);
167167
#else
168168
return __iml_half2integral_u<unsigned int>(h, __IML_RTN);
169169
#endif
@@ -172,7 +172,7 @@ unsigned int __devicelib_imf_half2uint_rd(_iml_half_internal h) {
172172
DEVICE_EXTERN_C_INLINE
173173
unsigned int __devicelib_imf_half2uint_rn(_iml_half_internal h) {
174174
#if defined(__SPIR__)
175-
return __spirv_ConvertFToU_Ruint_rte(h);
175+
return __spirv_ConvertFToU_Ruint_sat_rte(h);
176176
#else
177177
return __iml_half2integral_u<unsigned int>(h, __IML_RTE);
178178
#endif
@@ -181,7 +181,7 @@ unsigned int __devicelib_imf_half2uint_rn(_iml_half_internal h) {
181181
DEVICE_EXTERN_C_INLINE
182182
unsigned int __devicelib_imf_half2uint_ru(_iml_half_internal h) {
183183
#if defined(__SPIR__)
184-
return __spirv_ConvertFToU_Ruint_rtp(h);
184+
return __spirv_ConvertFToU_Ruint_sat_rtp(h);
185185
#else
186186
return __iml_half2integral_u<unsigned int>(h, __IML_RTP);
187187
#endif
@@ -190,7 +190,7 @@ unsigned int __devicelib_imf_half2uint_ru(_iml_half_internal h) {
190190
DEVICE_EXTERN_C_INLINE
191191
unsigned int __devicelib_imf_half2uint_rz(_iml_half_internal h) {
192192
#if defined(__SPIR__)
193-
return __spirv_ConvertFToU_Ruint_rtz(h);
193+
return __spirv_ConvertFToU_Ruint_sat_rtz(h);
194194
#else
195195
return __iml_half2integral_u<unsigned int>(h, __IML_RTZ);
196196
#endif
@@ -199,7 +199,7 @@ unsigned int __devicelib_imf_half2uint_rz(_iml_half_internal h) {
199199
DEVICE_EXTERN_C_INLINE
200200
unsigned long long __devicelib_imf_half2ull_rd(_iml_half_internal h) {
201201
#if defined(__SPIR__)
202-
return __spirv_ConvertFToU_Rulong_rtn(h);
202+
return __spirv_ConvertFToU_Rulong_sat_rtn(h);
203203
#else
204204
return __iml_half2integral_u<unsigned long long>(h, __IML_RTN);
205205
#endif
@@ -208,7 +208,7 @@ unsigned long long __devicelib_imf_half2ull_rd(_iml_half_internal h) {
208208
DEVICE_EXTERN_C_INLINE
209209
unsigned long long __devicelib_imf_half2ull_rn(_iml_half_internal h) {
210210
#if defined(__SPIR__)
211-
return __spirv_ConvertFToU_Rulong_rte(h);
211+
return __spirv_ConvertFToU_Rulong_sat_rte(h);
212212
#else
213213
return __iml_half2integral_u<unsigned long long>(h, __IML_RTE);
214214
#endif
@@ -217,7 +217,7 @@ unsigned long long __devicelib_imf_half2ull_rn(_iml_half_internal h) {
217217
DEVICE_EXTERN_C_INLINE
218218
unsigned long long __devicelib_imf_half2ull_ru(_iml_half_internal h) {
219219
#if defined(__SPIR__)
220-
return __spirv_ConvertFToU_Rulong_rtp(h);
220+
return __spirv_ConvertFToU_Rulong_sat_rtp(h);
221221
#else
222222
return __iml_half2integral_u<unsigned long long>(h, __IML_RTP);
223223
#endif
@@ -226,7 +226,7 @@ unsigned long long __devicelib_imf_half2ull_ru(_iml_half_internal h) {
226226
DEVICE_EXTERN_C_INLINE
227227
unsigned long long __devicelib_imf_half2ull_rz(_iml_half_internal h) {
228228
#if defined(__SPIR__)
229-
return __spirv_ConvertFToU_Rulong_rtz(h);
229+
return __spirv_ConvertFToU_Rulong_sat_rtz(h);
230230
#else
231231
return __iml_half2integral_u<unsigned long long>(h, __IML_RTZ);
232232
#endif
@@ -235,7 +235,7 @@ unsigned long long __devicelib_imf_half2ull_rz(_iml_half_internal h) {
235235
DEVICE_EXTERN_C_INLINE
236236
unsigned short __devicelib_imf_half2ushort_rd(_iml_half_internal h) {
237237
#if defined(__SPIR__)
238-
return __spirv_ConvertFToU_Rushort_rtn(h);
238+
return __spirv_ConvertFToU_Rushort_sat_rtn(h);
239239
#else
240240
return __iml_half2integral_u<unsigned short>(h, __IML_RTN);
241241
#endif
@@ -244,7 +244,7 @@ unsigned short __devicelib_imf_half2ushort_rd(_iml_half_internal h) {
244244
DEVICE_EXTERN_C_INLINE
245245
unsigned short __devicelib_imf_half2ushort_rn(_iml_half_internal h) {
246246
#if defined(__SPIR__)
247-
return __spirv_ConvertFToU_Rushort_rte(h);
247+
return __spirv_ConvertFToU_Rushort_sat_rte(h);
248248
#else
249249
return __iml_half2integral_u<unsigned short>(h, __IML_RTE);
250250
#endif
@@ -253,7 +253,7 @@ unsigned short __devicelib_imf_half2ushort_rn(_iml_half_internal h) {
253253
DEVICE_EXTERN_C_INLINE
254254
unsigned short __devicelib_imf_half2ushort_ru(_iml_half_internal h) {
255255
#if defined(__SPIR__)
256-
return __spirv_ConvertFToU_Rushort_rtp(h);
256+
return __spirv_ConvertFToU_Rushort_sat_rtp(h);
257257
#else
258258
return __iml_half2integral_u<unsigned short>(h, __IML_RTP);
259259
#endif
@@ -262,7 +262,7 @@ unsigned short __devicelib_imf_half2ushort_ru(_iml_half_internal h) {
262262
DEVICE_EXTERN_C_INLINE
263263
unsigned short __devicelib_imf_half2ushort_rz(_iml_half_internal h) {
264264
#if defined(__SPIR__)
265-
return __spirv_ConvertFToU_Rushort_rtz(h);
265+
return __spirv_ConvertFToU_Rushort_sat_rtz(h);
266266
#else
267267
return __iml_half2integral_u<unsigned short>(h, __IML_RTZ);
268268
#endif

0 commit comments

Comments
 (0)