about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt4
-rw-r--r--src/wrapped/generated/wrapper.c8
-rw-r--r--src/wrapped/generated/wrapper.h4
-rw-r--r--src/wrapped/wrappedlibm_private.h57
4 files changed, 63 insertions, 10 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 514b18eb..e38c2566 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -3021,6 +3021,8 @@
 #defined(HAVE_LD80BITS) IFED
 #defined(HAVE_LD80BITS) DFiD
 #defined(HAVE_LD80BITS) lFDD
+#defined(HAVE_LD80BITS) YFYY
+#defined(HAVE_LD80BITS) vFDpp
 #defined(HAVE_LD80BITS) DFDDD
 #!defined(HAVE_LD80BITS) KFK
 #!defined(HAVE_LD80BITS) KFy
@@ -3031,6 +3033,8 @@
 #!defined(HAVE_LD80BITS) KFKK
 #!defined(HAVE_LD80BITS) KFKp
 #!defined(HAVE_LD80BITS) lFKK
+#!defined(HAVE_LD80BITS) yFyy
+#!defined(HAVE_LD80BITS) vFKpp
 #!defined(HAVE_LD80BITS) KFKKK
 #defined(NOALIGN) iFipiip
 #!defined(NOALIGN) iFEppu
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 78ec76b8..1c41cca2 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -3061,6 +3061,8 @@ typedef complexl_t (*YFY_t)(complexl_t);
 typedef int64_t (*IFED_t)(x64emu_t*, long double);
 typedef long double (*DFiD_t)(int32_t, long double);
 typedef intptr_t (*lFDD_t)(long double, long double);
+typedef complexl_t (*YFYY_t)(complexl_t, complexl_t);
+typedef void (*vFDpp_t)(long double, void*, void*);
 typedef long double (*DFDDD_t)(long double, long double, long double);
 #endif
 
@@ -3074,6 +3076,8 @@ typedef double (*KFiK_t)(int32_t, double);
 typedef double (*KFKK_t)(double, double);
 typedef double (*KFKp_t)(double, void*);
 typedef intptr_t (*lFKK_t)(double, double);
+typedef complex_t (*yFyy_t)(complex_t, complex_t);
+typedef void (*vFKpp_t)(double, void*, void*);
 typedef double (*KFKKK_t)(double, double, double);
 #endif
 
@@ -6122,6 +6126,8 @@ void YFY(x64emu_t *emu, uintptr_t fcn) { YFY_t fn = (YFY_t)fcn; from_complexl(em
 void IFED(x64emu_t *emu, uintptr_t fcn) { IFED_t fn = (IFED_t)fcn; R_RAX=(int64_t)fn(emu, LD2localLD((void*)(R_RSP + 8))); }
 void DFiD(x64emu_t *emu, uintptr_t fcn) { DFiD_t fn = (DFiD_t)fcn; long double ld=fn((int32_t)R_RDI, LD2localLD((void*)(R_RSP + 8))); fpu_do_push(emu); ST0val = ld; }
 void lFDD(x64emu_t *emu, uintptr_t fcn) { lFDD_t fn = (lFDD_t)fcn; R_RAX=(intptr_t)fn(LD2localLD((void*)(R_RSP + 8)), LD2localLD((void*)(R_RSP + 24))); }
+void YFYY(x64emu_t *emu, uintptr_t fcn) { YFYY_t fn = (YFYY_t)fcn; from_complexl(emu, fn(to_complexl(emu, R_RSP + 8), to_complexl(emu, R_RSP + 40))); }
+void vFDpp(x64emu_t *emu, uintptr_t fcn) { vFDpp_t fn = (vFDpp_t)fcn; fn(LD2localLD((void*)(R_RSP + 8)), (void*)R_RDI, (void*)R_RSI); }
 void DFDDD(x64emu_t *emu, uintptr_t fcn) { DFDDD_t fn = (DFDDD_t)fcn; long double ld=fn(LD2localLD((void*)(R_RSP + 8)), LD2localLD((void*)(R_RSP + 24)), LD2localLD((void*)(R_RSP + 40))); fpu_do_push(emu); ST0val = ld; }
 #endif
 
@@ -6135,6 +6141,8 @@ void KFiK(x64emu_t *emu, uintptr_t fcn) { KFiK_t fn = (KFiK_t)fcn; double db=fn(
 void KFKK(x64emu_t *emu, uintptr_t fcn) { KFKK_t fn = (KFKK_t)fcn; double db=fn(FromLD((void*)(R_RSP + 8)), FromLD((void*)(R_RSP + 24))); fpu_do_push(emu); ST0val = db; }
 void KFKp(x64emu_t *emu, uintptr_t fcn) { KFKp_t fn = (KFKp_t)fcn; double db=fn(FromLD((void*)(R_RSP + 8)), (void*)R_RDI); fpu_do_push(emu); ST0val = db; }
 void lFKK(x64emu_t *emu, uintptr_t fcn) { lFKK_t fn = (lFKK_t)fcn; R_RAX=(intptr_t)fn(FromLD((void*)(R_RSP + 8)), FromLD((void*)(R_RSP + 24))); }
+void yFyy(x64emu_t *emu, uintptr_t fcn) { yFyy_t fn = (yFyy_t)fcn; from_complexk(emu, fn(to_complexk(emu, R_RSP + 8), to_complexk(emu, R_RSP + 40))); }
+void vFKpp(x64emu_t *emu, uintptr_t fcn) { vFKpp_t fn = (vFKpp_t)fcn; fn(FromLD((void*)(R_RSP + 8)), (void*)R_RDI, (void*)R_RSI); }
 void KFKKK(x64emu_t *emu, uintptr_t fcn) { KFKKK_t fn = (KFKKK_t)fcn; double db=fn(FromLD((void*)(R_RSP + 8)), FromLD((void*)(R_RSP + 24)), FromLD((void*)(R_RSP + 40))); fpu_do_push(emu); ST0val = db; }
 #endif
 
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index a6464e60..4a59b2fa 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -3061,6 +3061,8 @@ void YFY(x64emu_t *emu, uintptr_t fnc);
 void IFED(x64emu_t *emu, uintptr_t fnc);
 void DFiD(x64emu_t *emu, uintptr_t fnc);
 void lFDD(x64emu_t *emu, uintptr_t fnc);
+void YFYY(x64emu_t *emu, uintptr_t fnc);
+void vFDpp(x64emu_t *emu, uintptr_t fnc);
 void DFDDD(x64emu_t *emu, uintptr_t fnc);
 #endif
 
@@ -3074,6 +3076,8 @@ void KFiK(x64emu_t *emu, uintptr_t fnc);
 void KFKK(x64emu_t *emu, uintptr_t fnc);
 void KFKp(x64emu_t *emu, uintptr_t fnc);
 void lFKK(x64emu_t *emu, uintptr_t fnc);
+void yFyy(x64emu_t *emu, uintptr_t fnc);
+void vFKpp(x64emu_t *emu, uintptr_t fnc);
 void KFKKK(x64emu_t *emu, uintptr_t fnc);
 #endif
 
diff --git a/src/wrapped/wrappedlibm_private.h b/src/wrapped/wrappedlibm_private.h
index 64e9a7ec..2849d57d 100644
--- a/src/wrapped/wrappedlibm_private.h
+++ b/src/wrapped/wrappedlibm_private.h
@@ -155,7 +155,11 @@ GO2(cosl, KFK, cos)
 #endif
 GOW(cpow, XFXX)
 GOW(cpowf, xFxx)
-// cpowl    // Weak
+#ifdef HAVE_LD80BITS
+GOW(cpowl, YFYY)
+#else
+GO2(cpowl, yFyy, cpow)
+#endif
 GOW(cproj, XFX)
 GOW(cprojf, xFx)
 // cprojl   // Weak
@@ -184,8 +188,13 @@ GOW(ctan, XFX)
 GOW(ctanf, xFx)
 GOW(ctanh, XFX)
 GOW(ctanhf, xFx)
-// ctanhl   // Weak
-// ctanl    // Weak
+#ifdef HAVE_LD80BITS
+GOW(ctanhl, YFY)
+GOW(ctanl, YFY)
+#else
+GO2(ctanhl, yFy, ctanh)
+GO2(ctanl, yFy, ctan)
+#endif
 // __cxa_finalize  // Weak
 // drem // Weak
 // dremf    // Weak
@@ -214,7 +223,11 @@ GOW(exp2, dFd)
 GOW(exp2f, fFf)
 GOM(__exp2f_finite, fFf)
 GOM(__exp2_finite, dFd)
-// exp2l    // Weak
+#ifdef HAVE_LD80BITS
+GOW(exp2l, DFD)
+#else
+GO2(exp2l, KFK, exp2)
+#endif
 GOW(expf, fFf)
 GOM(__expf_finite, fFf)
 GOM(__exp_finite, dFd)
@@ -225,7 +238,11 @@ GO2(expl, KFK, exp)
 #endif
 GOW(expm1, dFd)
 GOW(expm1f, fFf)
-// expm1l   // Weak
+#ifdef HAVE_LD80BITS
+GOW(expm1l, DFD)
+#else
+GO2(expm1l, KFK, expm1)
+#endif
 GOW(fabs, dFd)
 GOW(fabsf, fFf)
 // fabsl    // Weak
@@ -300,7 +317,11 @@ GOW(hypot, dFdd)
 GOW(hypotf, fFff)
 GOM(__hypotf_finite, fFff)
 GOM(__hypot_finite, dFdd)
-// hypotl   // Weak
+#ifdef HAVE_LD80BITS
+GOW(hypotl, DFDD)
+#else
+GO2(hypotl, KFKK, hypot)
+#endif
 GOW(ilogb, iFd)
 GOW(ilogbf, iFf)
 // ilogbl   // Weak
@@ -377,12 +398,20 @@ GO2(log10l, KFK, log10) //Weak
 #endif
 GOW(log1p, dFd)
 GOW(log1pf, fFf)
-// log1pl   // Weak
+#ifdef HAVE_LD80BITS
+GOW(log1pl, DFD)
+#else
+GO2(log1pl, KFK, log1p)
+#endif
 GOW(log2, dFd)
 GOW(log2f, fFf)
 GOM(__log2f_finite, fFf)
 GOM(__log2_finite, dFd)
-// log2l    // Weak
+#ifdef HAVE_LD80BITS
+GOW(log2l, DFD)
+#else
+GO2(log2l, KFK, log2)
+#endif
 GOW(logb, dFd)
 GOW(logbf, fFf)
 // logbl    // Weak
@@ -416,7 +445,11 @@ GOWM(nearbyintf, fFEf)
 // nearbyintl   // Weak
 GOW(nextafter, dFdd)
 GOW(nextafterf, fFff)
-// nextafterl   // Weak
+#ifdef HAVE_LD80BITS
+GOW(nextafterl, DFDD)
+#else
+GO2(nextafterl, KFKK, nextafter)
+#endif
 GOW(nexttoward, dFdD)
 GOW(nexttowardf, fFfD)
 // nexttowardl  // Weak
@@ -477,7 +510,11 @@ DATAB(signgam, 8)
 GOW(sin, dFd)
 GOW(sincos, vFdpp)
 GOW(sincosf, vFfpp)
-// sincosl  // Weak
+#ifdef HAVE_LD80BITS
+GOW(sincosl, vFDpp)
+#else
+GO2(sincosl, vFKpp, sincos)
+#endif
 GOW(sinf, fFf)
 GOW(sinh, dFd)
 GOW(sinhf, fFf)