[gcc r16-657] libstdc++: Micro-optimization in std::arg overload for scalars
Jonathan Wakely
redi@gcc.gnu.org
Thu May 15 15:38:09 GMT 2025
https://gcc.gnu.org/g:270d23c5b201c8e000f60e05d17577498f409441
commit r16-657-g270d23c5b201c8e000f60e05d17577498f409441
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon May 12 12:56:17 2025 +0100
libstdc++: Micro-optimization in std::arg overload for scalars
Use __builtin_signbit directly instead of std::signbit.
libstdc++-v3/ChangeLog:
* include/std/complex (arg(T)): Use __builtin_signbit instead of
std::signbit.
Reviewed-by: Tomasz Kamiński <tkaminsk@redhat.com>
Diff:
---
libstdc++-v3/include/std/complex | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex
index 67f37d4ec2b7..d9d2d8afda89 100644
--- a/libstdc++-v3/include/std/complex
+++ b/libstdc++-v3/include/std/complex
@@ -2532,8 +2532,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
#if (_GLIBCXX11_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC)
- return std::signbit(__x) ? __type(3.1415926535897932384626433832795029L)
- : __type();
+ return __builtin_signbit(__type(__x))
+ ? __type(3.1415926535897932384626433832795029L) : __type();
#else
return std::arg(std::complex<__type>(__x));
#endif
More information about the Libstdc++-cvs
mailing list