[libc-commits] [libc] [libc][math] Add x86-64 sqrt specialization for 80-bit long double. (PR #139203)
    Petr Hosek via libc-commits 
    libc-commits at lists.llvm.org
       
    Fri May  9 00:10:12 PDT 2025
    
    
  
================
@@ -35,6 +35,14 @@ template <> LIBC_INLINE double sqrt<double>(double x) {
 }
 #endif // LIBC_TARGET_CPU_HAS_FPU_DOUBLE
 
+// Use 80-bit long double instruction on x86.
+// https://godbolt.org/z/oWEaj6hxK
+#ifdef LIBC_TYPES_LONG_DOUBLE_IS_X86_FLOAT80
+template <> LIBC_INLINE long double sqrt<long double>(long double x) {
+  return __builtin_elementwise_sqrt(x);
+}
+#endif
----------------
petrhosek wrote:
```suggestion
#endif // LIBC_TYPES_LONG_DOUBLE_IS_X86_FLOAT80
```
https://github.com/llvm/llvm-project/pull/139203
    
    
More information about the libc-commits
mailing list