Skip to content

Commit ea26922

Browse files
[SYCL] Revert any and all return types to int for vectors (#8591)
SYCL 2020 has any and all return bool for scalar and marray arguments, but int for vector arguments. Currently enabling SYCL2020_CONFORMANT_APIS switches all versions of any and all to return bool. This commit changes it so that the variants taking vector arguments are unaffected by SYCL2020_CONFORMANT_APIS and language version. Signed-off-by: Larsen, Steffen <[email protected]>
1 parent 93a629a commit ea26922

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

sycl/include/sycl/builtins.hpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1614,8 +1614,7 @@ any(T x) __NOEXC {
16141614

16151615
// int any (vigeninteger x)
16161616
template <typename T>
1617-
detail::enable_if_t<detail::is_vigeninteger<T>::value, detail::anyall_ret_t>
1618-
any(T x) __NOEXC {
1617+
detail::enable_if_t<detail::is_vigeninteger<T>::value, int> any(T x) __NOEXC {
16191618
return detail::rel_sign_bit_test_ret_t<T>(
16201619
__sycl_std::__invoke_Any<detail::rel_sign_bit_test_ret_t<T>>(
16211620
detail::rel_sign_bit_test_arg_t<T>(x)));
@@ -1630,8 +1629,7 @@ all(T x) __NOEXC {
16301629

16311630
// int all (vigeninteger x)
16321631
template <typename T>
1633-
detail::enable_if_t<detail::is_vigeninteger<T>::value, detail::anyall_ret_t>
1634-
all(T x) __NOEXC {
1632+
detail::enable_if_t<detail::is_vigeninteger<T>::value, int> all(T x) __NOEXC {
16351633
return detail::rel_sign_bit_test_ret_t<T>(
16361634
__sycl_std::__invoke_All<detail::rel_sign_bit_test_ret_t<T>>(
16371635
detail::rel_sign_bit_test_arg_t<T>(x)));

sycl/test/basic_tests/relational_builtins.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -280,28 +280,28 @@ void foo() {
280280

281281
// any
282282
CHECK(int, bool, any, int16_t)
283-
CHECK(int, bool, any, int16v)
283+
CHECK(int, int, any, int16v)
284284
CHECK2020(_, bool, any, int16m)
285285

286286
CHECK(int, bool, any, int32_t)
287-
CHECK(int, bool, any, int32v)
287+
CHECK(int, int, any, int32v)
288288
CHECK2020(_, bool, any, int32m)
289289

290290
CHECK(int, bool, any, int64_t)
291-
CHECK(int, bool, any, int64v)
291+
CHECK(int, int, any, int64v)
292292
CHECK2020(_, bool, any, int64m)
293293

294294
// all
295295
CHECK(int, bool, all, int16_t)
296-
CHECK(int, bool, all, int16v)
296+
CHECK(int, int, all, int16v)
297297
CHECK2020(_, bool, all, int16m)
298298

299299
CHECK(int, bool, all, int32_t)
300-
CHECK(int, bool, all, int32v)
300+
CHECK(int, int, all, int32v)
301301
CHECK2020(_, bool, all, int32m)
302302

303303
CHECK(int, bool, all, int64_t)
304-
CHECK(int, bool, all, int64v)
304+
CHECK(int, int, all, int64v)
305305
CHECK2020(_, bool, all, int64m)
306306

307307
// bitselect

0 commit comments

Comments
 (0)