diff --git a/sycl/include/sycl/ext/intel/fpga_lsu.hpp b/sycl/include/sycl/ext/intel/fpga_lsu.hpp index 4c40c58a671f2..35f99f605154e 100644 --- a/sycl/include/sycl/ext/intel/fpga_lsu.hpp +++ b/sycl/include/sycl/ext/intel/fpga_lsu.hpp @@ -20,27 +20,24 @@ constexpr uint8_t CACHE = 0x2; constexpr uint8_t STATICALLY_COALESCE = 0x4; constexpr uint8_t PREFETCH = 0x8; -struct burst_coalesce_impl_id; -template -struct burst_coalesce_impl : std::integral_constant { - using type_id = burst_coalesce_impl_id; +template struct burst_coalesce_impl { + static constexpr int32_t value = _N; + static constexpr int32_t default_value = 0; }; -struct cache_id; -template struct cache : std::integral_constant { - using type_id = cache_id; +template struct cache { + static constexpr int32_t value = _N; + static constexpr int32_t default_value = 0; }; -struct prefetch_impl_id; -template -struct prefetch_impl : std::integral_constant { - using type_id = prefetch_impl_id; +template struct prefetch_impl { + static constexpr int32_t value = _N; + static constexpr int32_t default_value = 0; }; -struct statically_coalesce_impl_id; -template -struct statically_coalesce_impl : std::integral_constant { - using type_id = statically_coalesce_impl_id; +template struct statically_coalesce_impl { + static constexpr int32_t value = _N; + static constexpr int32_t default_value = 1; }; template using burst_coalesce = burst_coalesce_impl<_B>; @@ -81,21 +78,21 @@ template class lsu final { private: static constexpr int32_t _burst_coalesce_val = - _GetValue, _mem_access_params...>::value; + _GetValue::value; static constexpr uint8_t _burst_coalesce = _burst_coalesce_val == 1 ? BURST_COALESCE : 0; static constexpr int32_t _cache_val = - _GetValue, _mem_access_params...>::value; + _GetValue::value; static constexpr uint8_t _cache = (_cache_val > 0) ? CACHE : 0; static constexpr int32_t _statically_coalesce_val = - _GetValue, _mem_access_params...>::value; + _GetValue::value; static constexpr uint8_t _dont_statically_coalesce = _statically_coalesce_val == 0 ? STATICALLY_COALESCE : 0; static constexpr int32_t _prefetch_val = - _GetValue, _mem_access_params...>::value; + _GetValue::value; static constexpr uint8_t _prefetch = _prefetch_val ? PREFETCH : 0; static_assert(_cache_val >= 0, "cache size parameter must be non-negative"); diff --git a/sycl/include/sycl/ext/intel/fpga_utils.hpp b/sycl/include/sycl/ext/intel/fpga_utils.hpp index 0baec2abfe7e5..b84293e0244a6 100644 --- a/sycl/include/sycl/ext/intel/fpga_utils.hpp +++ b/sycl/include/sycl/ext/intel/fpga_utils.hpp @@ -17,25 +17,18 @@ namespace sycl { namespace ext { namespace intel { -template -struct _MatchType : std::is_same {}; +template