[7/7] libstdc++: Fix incorrect function call in -ffast-math optimization
Checks
Commit Message
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
* include/experimental/bits/simd_math.h (__hypot): Bitcasting
between scalars requires the __bit_cast helper function instead
of simd_bit_cast.
---
libstdc++-v3/include/experimental/bits/simd_math.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--
──────────────────────────────────────────────────────────────────────────
Dr. Matthias Kretz https://mattkretz.github.io
GSI Helmholtz Centre for Heavy Ion Research https://gsi.de
stdₓ::simd
──────────────────────────────────────────────────────────────────────────
Comments
On Wed, 15 Feb 2023 at 20:52, Matthias Kretz via Libstdc++
<libstdc++@gcc.gnu.org> wrote:
>
>
>
> Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
>
> libstdc++-v3/ChangeLog:
>
> * include/experimental/bits/simd_math.h (__hypot): Bitcasting
> between scalars requires the __bit_cast helper function instead
> of simd_bit_cast.
OK for trunk/12/11.
@@ -1010,7 +1010,7 @@ template <typename _VV, typename = __detail::__odr_helper>
using _IV = rebind_simd_t<_Ip, _V>;
const auto __as_int = simd_bit_cast<_IV>(__hi_exp);
const _V __scale
- = simd_bit_cast<_V>(2 * simd_bit_cast<_Ip>(_Tp(1)) - __as_int);
+ = simd_bit_cast<_V>(2 * __bit_cast<_Ip>(_Tp(1)) - __as_int);
#else
const _V __scale = (__hi_exp ^ __inf) * _Tp(.5);
#endif
@@ -1181,7 +1181,7 @@ _GLIBCXX_SIMD_CVTING2(hypot)
using _IV = rebind_simd_t<_Ip, _V>;
const auto __as_int = simd_bit_cast<_IV>(__hi_exp);
const _V __scale
- = simd_bit_cast<_V>(2 * simd_bit_cast<_Ip>(_Tp(1)) - __as_int);
+ = simd_bit_cast<_V>(2 * __bit_cast<_Ip>(_Tp(1)) - __as_int);
#else
const _V __scale = (__hi_exp ^ __inf) * _Tp(.5);
#endif