From 00ed83e3803ea52c50a746a93a239622aac5a635 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 12 Nov 2020 20:59:00 -0800 Subject: [PATCH] ircd::simd: Add missing support::sse; add alignment constexpr. --- include/ircd/simd/support.h | 9 +++++++++ include/ircd/simd/traits.h | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/include/ircd/simd/support.h b/include/ircd/simd/support.h index 2937a9d1c..a7fdacbef 100644 --- a/include/ircd/simd/support.h +++ b/include/ircd/simd/support.h @@ -18,6 +18,15 @@ namespace ircd::simd::support { + constexpr bool sse + { + #if defined(__SSE__) + true + #else + false + #endif + }; + constexpr bool sse2 { #if defined(__SSE2__) diff --git a/include/ircd/simd/traits.h b/include/ircd/simd/traits.h index 8596afef6..22dfe1240 100644 --- a/include/ircd/simd/traits.h +++ b/include/ircd/simd/traits.h @@ -38,6 +38,14 @@ namespace ircd::simd extern const u128x1 u128x1_lane_id; extern const u256x1 u256x1_lane_id; extern const u512x1 u512x1_lane_id; + + constexpr auto alignment + { + support::avx512f? 64: + support::avx? 32: + support::sse? 16: + 8 + }; } /// Get number of lanes for vector type (the number after the x in the