llvm
llvm copied to clipboard
[SYCL] Use std::array as storage for syc::vec on device
Changing the storage to std::array instead of Clang's extension fixes strict ansi-alising violation and simplifies device code.
This PR also cleans up sycl::vec code.
LIT tests failures: Failed Tests (2): SYCL :: basic_tests/types.cpp SYCL :: basic_tests/vectors/constexpr-constructor.cpp
sycl/vector_preview.hpp:992:60: error: requested alignment is not an integer constant
[2024-05-16T07:17:19.790Z] alignas(std::min((size_t)64, sizeof(DataType))) DataType m_Data;
~TODO: Add value_type and element_type in sycl::vec https://github.com/intel/llvm/issues/12954~