From 4f9d81ef7899437bb5d461e1e034592972f6d04e Mon Sep 17 00:00:00 2001 From: Matthias Kretz Date: Mon, 20 Feb 2023 17:35:59 +0100 Subject: [PATCH] libstdc++: Add missing constexpr on simd shift implementation Resolves -Wtautological-compare warnings about `if (__builtin_is_constant_evaluated())` in the implementations of these functions. Signed-off-by: Matthias Kretz libstdc++-v3/ChangeLog: * include/experimental/bits/simd_x86.h (_S_bit_shift_left) (_S_bit_shift_right): Declare constexpr. The implementation was already expecting constexpr evaluation. (cherry picked from commit fa37ac2b59ed1c379b35dbf9bd58f7849f9fd5b5) --- libstdc++-v3/include/experimental/bits/simd_x86.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libstdc++-v3/include/experimental/bits/simd_x86.h b/libstdc++-v3/include/experimental/bits/simd_x86.h index c809520dcdd1..b9af1ce538cf 100644 --- a/libstdc++-v3/include/experimental/bits/simd_x86.h +++ b/libstdc++-v3/include/experimental/bits/simd_x86.h @@ -1524,7 +1524,7 @@ template // values. #ifndef _GLIBCXX_SIMD_NO_SHIFT_OPT template > - inline _GLIBCXX_CONST static typename _TVT::type + constexpr inline _GLIBCXX_CONST static typename _TVT::type _S_bit_shift_left(_Tp __xx, int __y) { using _V = typename _TVT::type; @@ -1629,7 +1629,7 @@ template } template > - inline _GLIBCXX_CONST static typename _TVT::type + constexpr inline _GLIBCXX_CONST static typename _TVT::type _S_bit_shift_left(_Tp __xx, typename _TVT::type __y) { using _V = typename _TVT::type; @@ -1798,7 +1798,7 @@ template // _S_bit_shift_right {{{ #ifndef _GLIBCXX_SIMD_NO_SHIFT_OPT template > - inline _GLIBCXX_CONST static typename _TVT::type + constexpr inline _GLIBCXX_CONST static typename _TVT::type _S_bit_shift_right(_Tp __xx, int __y) { using _V = typename _TVT::type; @@ -1848,7 +1848,7 @@ template } template > - inline _GLIBCXX_CONST static typename _TVT::type + constexpr inline _GLIBCXX_CONST static typename _TVT::type _S_bit_shift_right(_Tp __xx, typename _TVT::type __y) { using _V = typename _TVT::type; -- 2.47.2