[libc-commits] [libc] [libc] Add definitions for totalordermag(, f, l, f128), dsqrt(l, f128), fsqrt(, l, f128) to math.yaml. (PR #103494)

via libc-commits libc-commits at lists.llvm.org
Wed Aug 14 04:39:32 PDT 2024


https://github.com/wldfngrs updated https://github.com/llvm/llvm-project/pull/103494

>From 310d3d1dbd726c081cf17cafec5d95e1e66e0866 Mon Sep 17 00:00:00 2001
From: wldfngrs <wldfngrs at gmail.com>
Date: Wed, 14 Aug 2024 01:24:32 +0100
Subject: [PATCH 1/3] Added auto function header generation specification for
 functions: totalordermag, totalordermagf, dsqrtl, fsqrt, fsqrtl

---
 libc/newhdrgen/yaml/math.yaml | 39 +++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/libc/newhdrgen/yaml/math.yaml b/libc/newhdrgen/yaml/math.yaml
index f8395522589123..dc3cde963162ad 100644
--- a/libc/newhdrgen/yaml/math.yaml
+++ b/libc/newhdrgen/yaml/math.yaml
@@ -214,6 +214,12 @@ functions:
     arguments:
       - type: long double
       - type: long double
+  - name: dsqrtl
+    standards:
+      - stdc
+    return_type: double
+    arguments:
+      - type: long double
   - name: erff
     standards:
       - stdc
@@ -1195,6 +1201,18 @@ functions:
       - type: long double
       - type: int
       - type: unsigned int
+  - name: fsqrt
+    standards:
+      - stdc
+    return_type: float type
+    arguments:
+      - type: double
+  - name: fsqrtl
+    standards:
+      - stdc
+    return_type: float
+    arguments:
+      - type: long double 
   - name: fsub
     standards:
       - stdc
@@ -2323,6 +2341,27 @@ functions:
     arguments:
       - type: const long double *
       - type: const long double *
+  - name: totalordermag
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: double *
+      - type: double *
+  - name: totalordermagf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: float *
+      - type: float *
+  - name: totalordermagl
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: long double *
+      - type: long double *
   - name: totalordermagf16
     standards:
       - stdc

>From fc848f38ae60fb7c2264ebd174377525fb3f8c22 Mon Sep 17 00:00:00 2001
From: wldfngrs <wldfngrs at gmail.com>
Date: Wed, 14 Aug 2024 10:29:59 +0100
Subject: [PATCH 2/3] Added function definitions for dsqrtf128, fsqrtf128, and
 totalordermagf128

---
 libc/newhdrgen/yaml/math.yaml | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/libc/newhdrgen/yaml/math.yaml b/libc/newhdrgen/yaml/math.yaml
index dc3cde963162ad..0051dd206b3a9c 100644
--- a/libc/newhdrgen/yaml/math.yaml
+++ b/libc/newhdrgen/yaml/math.yaml
@@ -220,6 +220,14 @@ functions:
     return_type: double
     arguments:
       - type: long double
+  - name: dsqrtf128
+    standards:
+      - llvm_libc_ext
+    return_type: double
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
   - name: erff
     standards:
       - stdc
@@ -1220,6 +1228,13 @@ functions:
     arguments:
       - type: double
       - type: double
+  - name: fsqrtf128
+    standards:
+      - llvm_libc_ext
+    return_type: float
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
   - name: fsubf128
     standards:
       - llvm_libc_ext
@@ -2362,6 +2377,14 @@ functions:
     arguments:
       - type: long double *
       - type: long double *
+  - name: totalordermagf128
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: float128 *
+      - type: float128 *
+    guard: LIBC_TYPES_HAS_FLOAT128
   - name: totalordermagf16
     standards:
       - stdc

>From bf96930844813a3099aa5d1d3000c7092c4d520c Mon Sep 17 00:00:00 2001
From: wldfngrs <wldfngrs at gmail.com>
Date: Wed, 14 Aug 2024 12:39:05 +0100
Subject: [PATCH 3/3] fsqrtf128 included with other fsqrt functions

---
 libc/newhdrgen/yaml/math.yaml | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/libc/newhdrgen/yaml/math.yaml b/libc/newhdrgen/yaml/math.yaml
index 0051dd206b3a9c..a244a307a206f9 100644
--- a/libc/newhdrgen/yaml/math.yaml
+++ b/libc/newhdrgen/yaml/math.yaml
@@ -1220,14 +1220,7 @@ functions:
       - stdc
     return_type: float
     arguments:
-      - type: long double 
-  - name: fsub
-    standards:
-      - stdc
-    return_type: float
-    arguments:
-      - type: double
-      - type: double
+      - type: long double
   - name: fsqrtf128
     standards:
       - llvm_libc_ext
@@ -1235,6 +1228,13 @@ functions:
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fsub
+    standards:
+      - stdc
+    return_type: float
+    arguments:
+      - type: double
+      - type: double
   - name: fsubf128
     standards:
       - llvm_libc_ext



More information about the libc-commits mailing list