[llvm] [TTI] Treat `*l` (long double) and `*f128` (_Float128) libcalls the same (PR #148311)

Trevor Gross via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 12 03:10:45 PDT 2025


================
@@ -189,27 +189,28 @@ class TargetTransformInfoImplBase {
 
     // These will all likely lower to a single selection DAG node.
     // clang-format off
-    if (Name == "copysign" || Name == "copysignf" || Name == "copysignl" ||
-        Name == "fabs"  || Name == "fabsf"  || Name == "fabsl" ||
-        Name == "fmin"  || Name == "fminf"  || Name == "fminl" ||
-        Name == "fmax"  || Name == "fmaxf"  || Name == "fmaxl" ||
-        Name == "sin"   || Name == "sinf"   || Name == "sinl"  ||
-        Name == "cos"   || Name == "cosf"   || Name == "cosl"  ||
-        Name == "tan"   || Name == "tanf"   || Name == "tanl"  ||
-        Name == "asin"  || Name == "asinf"  || Name == "asinl" ||
-        Name == "acos"  || Name == "acosf"  || Name == "acosl" ||
-        Name == "atan"  || Name == "atanf"  || Name == "atanl" ||
-        Name == "atan2" || Name == "atan2f" || Name == "atan2l"||
-        Name == "sinh"  || Name == "sinhf"  || Name == "sinhl" ||
-        Name == "cosh"  || Name == "coshf"  || Name == "coshl" ||
-        Name == "tanh"  || Name == "tanhf"  || Name == "tanhl" ||
-        Name == "sqrt"  || Name == "sqrtf"  || Name == "sqrtl" ||
-        Name == "exp10"  || Name == "exp10l"  || Name == "exp10f")
+    if (Name == "copysign" || Name == "copysignf" || Name == "copysignl" || Name == "copysignl128" ||
+        Name == "fabs"  || Name == "fabsf"  || Name == "fabsl" || Name == "fabsl128" ||
+        Name == "fmin"  || Name == "fminf"  || Name == "fminl" || Name == "fminl128" ||
+        Name == "fmax"  || Name == "fmaxf"  || Name == "fmaxl" || Name == "fmaxl128" ||
+        Name == "sin"   || Name == "sinf"   || Name == "sinl"  || Name == "sinl128"  ||
+        Name == "cos"   || Name == "cosf"   || Name == "cosl"  || Name == "cosl128"  ||
+        Name == "tan"   || Name == "tanf"   || Name == "tanl"  || Name == "tanl128"  ||
+        Name == "asin"  || Name == "asinf"  || Name == "asinl" || Name == "asinl128" ||
+        Name == "acos"  || Name == "acosf"  || Name == "acosl" || Name == "acosl128" ||
+        Name == "atan"  || Name == "atanf"  || Name == "atanl" || Name == "atanl128" ||
+        Name == "atan2" || Name == "atan2f" || Name == "atan2l"|| Name == "atan2128l"||
+        Name == "sinh"  || Name == "sinhf"  || Name == "sinhl" || Name == "sinhl128" ||
+        Name == "cosh"  || Name == "coshf"  || Name == "coshl" || Name == "coshl128" ||
+        Name == "tanh"  || Name == "tanhf"  || Name == "tanhl" || Name == "tanhl128" ||
+        Name == "sqrt"  || Name == "sqrtf"  || Name == "sqrtl" || Name == "sqrtl128" ||
+        Name == "exp10" || Name == "exp10f" || Name == "exp10l"|| Name == "exp10f128")
       return false;
     // clang-format on
     // These are all likely to be optimized into something smaller.
-    if (Name == "pow" || Name == "powf" || Name == "powl" || Name == "exp2" ||
-        Name == "exp2l" || Name == "exp2f" || Name == "floor" ||
+    if (Name == "pow" || Name == "powf" || Name == "powl" ||
+        Name == "powf128" || Name == "exp2" || Name == "exp2f" ||
+        Name == "exp2l" || Name == "powf128" || Name == "floor" ||
----------------
tgross35 wrote:

Indeed, removed

https://github.com/llvm/llvm-project/pull/148311


More information about the llvm-commits mailing list