diff --git a/sycl/include/CL/sycl/intel/esimd/esimd_enum.hpp b/sycl/include/CL/sycl/intel/esimd/esimd_enum.hpp index 22d8c7c516e26..4b901ea079119 100644 --- a/sycl/include/CL/sycl/intel/esimd/esimd_enum.hpp +++ b/sycl/include/CL/sycl/intel/esimd/esimd_enum.hpp @@ -30,7 +30,7 @@ using uint = unsigned int; // class. #define ESIMD_PRIVATE __attribute__((opencl_private)) // Bind a ESIMD global variable to a specific register. -#define ESIMD_REGISTER(n) __attribute__((register(n))) +#define ESIMD_REGISTER(n) __attribute__((register_num(n))) #else // TODO ESIMD define what this means on Windows host #define ESIMD_NODEBUG diff --git a/sycl/test/basic_tests/esimd/global_var.cpp b/sycl/test/basic_tests/esimd/global_var.cpp new file mode 100644 index 0000000000000..e2b52fc51241a --- /dev/null +++ b/sycl/test/basic_tests/esimd/global_var.cpp @@ -0,0 +1,13 @@ +// RUN: %clangxx -fsycl -fsycl-explicit-simd -fsycl-device-only -fsyntax-only -Xclang -verify %s +// expected-no-diagnostics + +#include + +// This test checks that DPC++ compiler in ESIMD mode understands +// the ESIMD_PRIVATE and ESIMD_REGISTER macros + +ESIMD_PRIVATE ESIMD_REGISTER(17) int vc; + +SYCL_EXTERNAL void init_vc(int x) { + vc = x; +}