Skip to content

Commit eda8a58

Browse files
[SYCL] Allow generic_space multi_ptr in math builtins (#12049)
The non-preview builtins do not currently allow the generic address space in multi_ptr passed to them. The spec allows these however, so this patch changes the builtins to allow these through. --------- Signed-off-by: Larsen, Steffen <[email protected]>
1 parent 1a40033 commit eda8a58

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

sycl/include/sycl/detail/generic_type_lists.hpp

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -566,25 +566,12 @@ using nan_list = tl_append<gtl::unsigned_short_list, gtl::unsigned_int_list,
566566
} // namespace gtl
567567
namespace gvl {
568568
// address spaces
569-
using all_address_space_list = address_space_list<
569+
using nonconst_address_space_list = address_space_list<
570570
access::address_space::local_space, access::address_space::global_space,
571-
access::address_space::private_space, access::address_space::constant_space,
571+
access::address_space::private_space, access::address_space::generic_space,
572572
access::address_space::ext_intel_global_device_space,
573573
access::address_space::ext_intel_global_host_space>;
574574

575-
using nonconst_address_space_list =
576-
address_space_list<access::address_space::local_space,
577-
access::address_space::global_space,
578-
access::address_space::private_space,
579-
access::address_space::ext_intel_global_device_space,
580-
access::address_space::ext_intel_global_host_space>;
581-
582-
using nonlocal_address_space_list =
583-
address_space_list<access::address_space::global_space,
584-
access::address_space::private_space,
585-
access::address_space::constant_space,
586-
access::address_space::ext_intel_global_device_space,
587-
access::address_space::ext_intel_global_host_space>;
588575
} // namespace gvl
589576
} // namespace detail
590577
} // namespace _V1
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// RUN: %clangxx -fsycl -fsyntax-only -Xclang -verify %s
2+
// RUN: %if preview-breaking-changes-supported %{ %clangxx -fsycl -fpreview-breaking-changes -fsyntax-only -Xclang -verify %s %}
3+
// expected-no-diagnostics
4+
5+
// Regression test ensuring math builtins accept multi_ptr in the generic
6+
// address space.
7+
8+
#include <sycl.hpp>
9+
10+
int main() {
11+
sycl::queue Q;
12+
Q.single_task([=]() {
13+
double I = -3.1415926 / 4;
14+
double D = 0.0;
15+
volatile double Res = sycl::sincos(
16+
I, sycl::address_space_cast<sycl::access::address_space::generic_space,
17+
sycl::access::decorated::yes, double>(&D));
18+
});
19+
return 0;
20+
}

0 commit comments

Comments
 (0)