5#include <sycl/sycl.hpp>
12template <
typename T,
int W
idth>
18template <
typename T,
int W
idth>
21 static_cast<void>(ptr);
22 static_cast<void>(ld);
23 static_cast<void>(stride);
26 const auto address =
reinterpret_cast<std::uintptr_t
>(ptr);
27 return (address %
alignof(sycl::vec<T, Width>) == 0) && (ld % Width == 0) && (stride % Width == 0);
31template <
typename T,
int W
idth>
33 return *
reinterpret_cast<const sycl::vec<T, Width>*
>(ptr + offset);
sycl::vec< T, Width > packet_load_aligned(const T *ptr, int offset)
bool supports_aligned_packet_loads(const T *ptr, int ld, int stride)
constexpr bool supports_packet4_v
constexpr bool supports_packet_v