diff --git a/sycl/include/sycl/aliases.hpp b/sycl/include/sycl/aliases.hpp index cc42d99565d9a..2ed8b82fd31f2 100644 --- a/sycl/include/sycl/aliases.hpp +++ b/sycl/include/sycl/aliases.hpp @@ -24,8 +24,10 @@ class half; #define __SYCL_MAKE_VECTOR_ALIAS(ALIAS, TYPE, N) \ using ALIAS##N = sycl::vec; +#ifndef __INTEL_PREVIEW_BREAKING_CHANGES #define __SYCL_2020_MAKE_DEPRECATED_VECTOR_ALIAS(ALIAS, TYPE, N, MESSAGE) \ using ALIAS##N __SYCL2020_DEPRECATED(MESSAGE) = sycl::vec; +#endif // __INTEL_PREVIEW_BREAKING_CHANGES #define __SYCL_MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES(N) \ __SYCL_MAKE_VECTOR_ALIAS(char, char, N) \ @@ -36,6 +38,7 @@ class half; __SYCL_MAKE_VECTOR_ALIAS(double, double, N) \ __SYCL_MAKE_VECTOR_ALIAS(half, half, N) +#ifndef __INTEL_PREVIEW_BREAKING_CHANGES // There are no 'cl_*' vec aliases in SYCL 2020 #define __SYCL_MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES(N) \ __SYCL_2020_MAKE_DEPRECATED_VECTOR_ALIAS(cl_char, sycl::cl_char, N, "") \ @@ -49,6 +52,7 @@ class half; __SYCL_2020_MAKE_DEPRECATED_VECTOR_ALIAS(cl_float, sycl::cl_float, N, "") \ __SYCL_2020_MAKE_DEPRECATED_VECTOR_ALIAS(cl_double, sycl::cl_double, N, "") \ __SYCL_2020_MAKE_DEPRECATED_VECTOR_ALIAS(cl_half, sycl::cl_half, N, "") +#endif // __INTEL_PREVIEW_BREAKING_CHANGES #define __SYCL_MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES(N) \ __SYCL_MAKE_VECTOR_ALIAS(schar, signed char, N) \ @@ -59,10 +63,16 @@ class half; __SYCL_MAKE_VECTOR_ALIAS(longlong, long long, N) \ __SYCL_MAKE_VECTOR_ALIAS(ulonglong, unsigned long long, N) +#ifndef __INTEL_PREVIEW_BREAKING_CHANGES #define __SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(N) \ __SYCL_MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES(N) \ __SYCL_MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES(N) \ __SYCL_MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES(N) +#else +#define __SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(N) \ + __SYCL_MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES(N) \ + __SYCL_MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES(N) +#endif // __INTEL_PREVIEW_BREAKING_CHANGES // FIXME: OpenCL vector aliases are not defined by SYCL 2020 spec and should be // removed from here. See intel/llvm#7888. They are deprecated for now. @@ -70,6 +80,7 @@ class half; // spec, but they are preserved in SYCL 2020 mode, because SYCL-CTS is // still using them. // See KhronosGroup/SYCL-CTS#446 and KhronosGroup/SYCL-Docs#335 +#ifndef __INTEL_PREVIEW_BREAKING_CHANGES #define __SYCL_2020_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(N) \ __SYCL_MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES(N) \ __SYCL_2020_MAKE_DEPRECATED_VECTOR_ALIAS(schar, std::int8_t, N, "") \ @@ -86,10 +97,26 @@ class half; __SYCL_MAKE_VECTOR_ALIAS(float, float, N) \ __SYCL_MAKE_VECTOR_ALIAS(double, double, N) \ __SYCL_MAKE_VECTOR_ALIAS(half, half, N) +#else +// TODO: remove the FIXME comments above. +#define __SYCL_2020_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(N) \ + __SYCL_MAKE_VECTOR_ALIAS(char, std::int8_t, N) \ + __SYCL_MAKE_VECTOR_ALIAS(uchar, std::uint8_t, N) \ + __SYCL_MAKE_VECTOR_ALIAS(short, std::int16_t, N) \ + __SYCL_MAKE_VECTOR_ALIAS(ushort, std::uint16_t, N) \ + __SYCL_MAKE_VECTOR_ALIAS(int, std::int32_t, N) \ + __SYCL_MAKE_VECTOR_ALIAS(uint, std::uint32_t, N) \ + __SYCL_MAKE_VECTOR_ALIAS(long, std::int64_t, N) \ + __SYCL_MAKE_VECTOR_ALIAS(ulong, std::uint64_t, N) \ + __SYCL_MAKE_VECTOR_ALIAS(float, float, N) \ + __SYCL_MAKE_VECTOR_ALIAS(double, double, N) \ + __SYCL_MAKE_VECTOR_ALIAS(half, half, N) +#endif // __INTEL_PREVIEW_BREAKING_CHANGES namespace sycl { inline namespace _V1 { using byte __SYCL2020_DEPRECATED("use std::byte instead") = std::uint8_t; +#ifndef __INTEL_PREVIEW_BREAKING_CHANGES using schar __SYCL2020_DEPRECATED("") = signed char; using uchar __SYCL2020_DEPRECATED("") = unsigned char; using ushort __SYCL2020_DEPRECATED("") = unsigned short; @@ -97,8 +124,10 @@ using uint __SYCL2020_DEPRECATED("") = unsigned int; using ulong __SYCL2020_DEPRECATED("") = unsigned long; using longlong __SYCL2020_DEPRECATED("") = long long; using ulonglong __SYCL2020_DEPRECATED("") = unsigned long long; +#endif // __INTEL_PREVIEW_BREAKING_CHANGES using half = sycl::detail::half_impl::half; +#ifndef __INTEL_PREVIEW_BREAKING_CHANGES using cl_bool __SYCL2020_DEPRECATED("use sycl::opencl::cl_bool instead") = bool; using cl_char __SYCL2020_DEPRECATED("use sycl::opencl::cl_char instead") = std::int8_t; @@ -121,6 +150,7 @@ using cl_float __SYCL2020_DEPRECATED("use sycl::opencl::cl_float instead") = float; using cl_double __SYCL2020_DEPRECATED("use sycl::opencl::cl_double instead") = double; +#endif // __INTEL_PREVIEW_BREAKING_CHANGES namespace opencl { // Strictly speaking, cl_* aliases should not be defined in opencl namespace in @@ -150,7 +180,9 @@ __SYCL_2020_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(16) #undef __SYCL_MAKE_VECTOR_ALIAS #undef __SYCL_MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES +#ifndef __INTEL_PREVIEW_BREAKING_CHANGES #undef __SYCL_MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES +#endif // __INTEL_PREVIEW_BREAKING_CHANGES #undef __SYCL_MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES #undef __SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH #undef __SYCL_2020_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH diff --git a/sycl/include/sycl/atomic.hpp b/sycl/include/sycl/atomic.hpp index 5e9e3b13dac52..4a0f87ef6875a 100644 --- a/sycl/include/sycl/atomic.hpp +++ b/sycl/include/sycl/atomic.hpp @@ -201,19 +201,19 @@ class __SYCL2020_DEPRECATED( #ifdef __SYCL_DEVICE_ONLY__ template - std::enable_if_t::value, T> + std::enable_if_t::value, T> load(memory_order Order = memory_order::relaxed) const { return __spirv_AtomicLoad(Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order)); } template - std::enable_if_t::value, T> + std::enable_if_t::value, T> load(memory_order Order = memory_order::relaxed) const { auto *TmpPtr = reinterpret_cast::pointer>(Ptr); - cl_int TmpVal = __spirv_AtomicLoad( + opencl::cl_int, addressSpace, access::decorated::yes>::pointer>(Ptr); + opencl::cl_int TmpVal = __spirv_AtomicLoad( TmpPtr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order)); - cl_float ResVal = sycl::bit_cast(TmpVal); + opencl::cl_float ResVal = sycl::bit_cast(TmpVal); return ResVal; } #else diff --git a/sycl/include/sycl/detail/vector_convert.hpp b/sycl/include/sycl/detail/vector_convert.hpp index 0977c29c4db3e..5c6c9360fd282 100644 --- a/sycl/include/sycl/detail/vector_convert.hpp +++ b/sycl/include/sycl/detail/vector_convert.hpp @@ -411,15 +411,15 @@ using enable_if_to_int_vector_t = __SYCL_VECTOR_INT_INT_CONVERT(Op, 8, DestType, SPVType) \ __SYCL_VECTOR_INT_INT_CONVERT(Op, 16, DestType, SPVType) -__SYCL_INT_INT_CONVERT(S, char, schar) +__SYCL_INT_INT_CONVERT(S, char, signed char) __SYCL_INT_INT_CONVERT(S, short, short) __SYCL_INT_INT_CONVERT(S, int, int) __SYCL_INT_INT_CONVERT(S, long, long) -__SYCL_INT_INT_CONVERT(U, uchar, uchar) -__SYCL_INT_INT_CONVERT(U, ushort, ushort) -__SYCL_INT_INT_CONVERT(U, uint, uint) -__SYCL_INT_INT_CONVERT(U, ulong, ulong) +__SYCL_INT_INT_CONVERT(U, unsigned char, unsigned char) +__SYCL_INT_INT_CONVERT(U, unsigned short, unsigned short) +__SYCL_INT_INT_CONVERT(U, unsigned int, unsigned int) +__SYCL_INT_INT_CONVERT(U, unsigned long, unsigned long) #undef __SYCL_SCALAR_INT_INT_CONVERT #undef __SYCL_VECTOR_INT_INT_CONVERT @@ -467,15 +467,15 @@ __SYCL_INT_INT_CONVERT(U, ulong, ulong) __SYCL_FLOAT_INT_CONVERT(Op, DestType, SPVType, rtp, Rtp) \ __SYCL_FLOAT_INT_CONVERT(Op, DestType, SPVType, rtn, Rtn) -__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToS, char, schar) +__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToS, char, signed char) __SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToS, short, short) __SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToS, int, int) __SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToS, long, long) -__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToU, uchar, uchar) -__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToU, ushort, ushort) -__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToU, uint, uint) -__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToU, ulong, ulong) +__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToU, unsigned char, unsigned char) +__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToU, unsigned short, unsigned short) +__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToU, unsigned int, unsigned int) +__SYCL_FLOAT_INT_CONVERT_FOR_TYPE(FToU, unsigned long, unsigned long) #undef __SYCL_SCALAR_FLOAT_INT_CONVERT #undef __SYCL_VECTOR_FLOAT_INT_CONVERT @@ -688,9 +688,9 @@ inline NativeBFT ConvertFToBF16Vec(NativeFloatT vec) { EXPAND_BF16_ROUNDING_MODE(type, type_str, sycl::rounding_mode::rtn, rd) \ EXPAND_BF16_ROUNDING_MODE(type, type_str, sycl::rounding_mode::rtz, rz) -EXPAND_BF16_TYPE(uint, uint) +EXPAND_BF16_TYPE(unsigned int, unsigned int) EXPAND_BF16_TYPE(int, int) -EXPAND_BF16_TYPE(ushort, ushort) +EXPAND_BF16_TYPE(unsigned short, unsigned short) EXPAND_BF16_TYPE(short, short) EXPAND_BF16_TYPE(long, ll) EXPAND_BF16_TYPE(unsigned long long, ull) diff --git a/sycl/source/builtins/integer_functions.cpp b/sycl/source/builtins/integer_functions.cpp index 37fe0a9f8029c..b250f28ef790b 100644 --- a/sycl/source/builtins/integer_functions.cpp +++ b/sycl/source/builtins/integer_functions.cpp @@ -28,7 +28,7 @@ template inline T __get_high_half(T a0b0, T a0b1, T a1b0, T a1b1) { // A helper function for mul_hi built-in for long template inline void __get_half_products(T a, T b, T &a0b0, T &a0b1, T &a1b0, T &a1b1) { - constexpr sycl::cl_int halfsize = (sizeof(T) * 8) / 2; + constexpr sycl::opencl::cl_int halfsize = (sizeof(T) * 8) / 2; T a1 = a >> halfsize; T a0 = (a << halfsize) >> halfsize; T b1 = b >> halfsize; diff --git a/sycl/test-e2e/Adapters/level_zero/eager_init.cpp b/sycl/test-e2e/Adapters/level_zero/eager_init.cpp index 3a4ff765e06de..78e3a4668c7a4 100644 --- a/sycl/test-e2e/Adapters/level_zero/eager_init.cpp +++ b/sycl/test-e2e/Adapters/level_zero/eager_init.cpp @@ -58,8 +58,8 @@ void simple_vadd(sycl::queue &Queue, const std::array &VA, int main() { const size_t array_size = 4; - std::array A = {{1, 2, 3, 4}}, B = {{1, 2, 3, 4}}, - C; + std::array A = {{1, 2, 3, 4}}, + B = {{1, 2, 3, 4}}, C; sycl::queue Q; // simple_vadd(Q, A, B, C);