about summary refs log tree commit diff
path: root/math
diff options
context:
space:
mode:
authorJoe Ramsay <Joe.Ramsay@arm.com>2023-11-16 13:24:18 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2023-11-20 17:53:14 +0000
commita8830c928540011120ac742d632ed51d52af01df (patch)
tree3c219e1d2abfb616ebb3a512bcccabcd415dab29 /math
parent65341f7bbea824d2ff9d37db15d8be162df42bd3 (diff)
downloadglibc-a8830c928540011120ac742d632ed51d52af01df.tar.gz
glibc-a8830c928540011120ac742d632ed51d52af01df.tar.xz
glibc-a8830c928540011120ac742d632ed51d52af01df.zip
aarch64: Add vector implementations of expm1 routines
May discard sign of 0 - auto tests for -0 and -0x1p-10000 updated accordingly.
Diffstat (limited to 'math')
-rw-r--r--math/auto-libm-test-in4
-rw-r--r--math/auto-libm-test-out-expm1212
2 files changed, 108 insertions, 108 deletions
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index a8d6674c98..897a336469 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -5354,7 +5354,7 @@ exp2 -0x4.8ce878p-4
 exp2 0xf.93d18bf7be8d272p-4
 
 expm1 0
-expm1 -0
+expm1 -0 no-mathvec
 expm1 1
 expm1 0.75
 expm1 2
@@ -5419,7 +5419,7 @@ expm1 -0x1p-100
 expm1 0x1p-600
 expm1 -0x1p-600
 expm1 0x1p-10000
-expm1 -0x1p-10000
+expm1 -0x1p-10000 no-mathvec
 expm1 0xe.4152ac57cd1ea7ap-60
 expm1 0x6.660247486aed8p-4
 expm1 0x6.289a78p-4
diff --git a/math/auto-libm-test-out-expm1 b/math/auto-libm-test-out-expm1
index 8483455801..91da41b7f6 100644
--- a/math/auto-libm-test-out-expm1
+++ b/math/auto-libm-test-out-expm1
@@ -23,31 +23,31 @@ expm1 0
 = expm1 tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
 = expm1 towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
 = expm1 upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
-expm1 -0
-= expm1 downward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest binary32 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero binary32 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest binary64 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero binary64 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest intel96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero intel96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest binary128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero binary128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+expm1 -0 no-mathvec
+= expm1 downward binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
 expm1 1
 = expm1 downward binary32 0x1p+0 : 0x1.b7e15p+0 : inexact-ok
 = expm1 tonearest binary32 0x1p+0 : 0x1.b7e152p+0 : inexact-ok
@@ -1880,87 +1880,87 @@ expm1 0x1p-10000
 = expm1 tonearest binary128 0x1p-10000 : 0x1p-10000 : inexact-ok
 = expm1 towardzero binary128 0x1p-10000 : 0x1p-10000 : inexact-ok
 = expm1 upward binary128 0x1p-10000 : 0x1.0000000000000000000000000001p-10000 : inexact-ok
-expm1 -0x1p-10000
-= expm1 downward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest binary32 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero binary32 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest binary64 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero binary64 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest intel96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero intel96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest binary128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero binary128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 tonearest ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 towardzero ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 upward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
-= expm1 downward binary32 -0x8p-152 : -0x8p-152 : inexact-ok underflow errno-erange-ok
-= expm1 tonearest binary32 -0x8p-152 : -0x8p-152 : inexact-ok underflow errno-erange-ok
-= expm1 towardzero binary32 -0x8p-152 : -0x0p+0 : inexact-ok underflow errno-erange-ok
-= expm1 upward binary32 -0x8p-152 : -0x0p+0 : inexact-ok underflow errno-erange-ok
-= expm1 downward binary64 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 tonearest binary64 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 towardzero binary64 -0x8p-152 : -0x7.ffffffffffffcp-152 : inexact-ok
-= expm1 upward binary64 -0x8p-152 : -0x7.ffffffffffffcp-152 : inexact-ok
-= expm1 downward intel96 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 tonearest intel96 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 towardzero intel96 -0x8p-152 : -0x7.fffffffffffffff8p-152 : inexact-ok
-= expm1 upward intel96 -0x8p-152 : -0x7.fffffffffffffff8p-152 : inexact-ok
-= expm1 downward m68k96 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 tonearest m68k96 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 towardzero m68k96 -0x8p-152 : -0x7.fffffffffffffff8p-152 : inexact-ok
-= expm1 upward m68k96 -0x8p-152 : -0x7.fffffffffffffff8p-152 : inexact-ok
-= expm1 downward binary128 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 tonearest binary128 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 towardzero binary128 -0x8p-152 : -0x7.fffffffffffffffffffffffffffcp-152 : inexact-ok
-= expm1 upward binary128 -0x8p-152 : -0x7.fffffffffffffffffffffffffffcp-152 : inexact-ok
-= expm1 downward ibm128 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 tonearest ibm128 -0x8p-152 : -0x8p-152 : inexact-ok
-= expm1 towardzero ibm128 -0x8p-152 : -0x7.fffffffffffffffffffffffffep-152 : inexact-ok
-= expm1 upward ibm128 -0x8p-152 : -0x7.fffffffffffffffffffffffffep-152 : inexact-ok
-= expm1 downward binary64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
-= expm1 tonearest binary64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
-= expm1 towardzero binary64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange-ok
-= expm1 upward binary64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange-ok
-= expm1 downward intel96 -0x4p-1076 : -0x4p-1076 : inexact-ok
-= expm1 tonearest intel96 -0x4p-1076 : -0x4p-1076 : inexact-ok
-= expm1 towardzero intel96 -0x4p-1076 : -0x3.fffffffffffffffcp-1076 : inexact-ok
-= expm1 upward intel96 -0x4p-1076 : -0x3.fffffffffffffffcp-1076 : inexact-ok
-= expm1 downward m68k96 -0x4p-1076 : -0x4p-1076 : inexact-ok
-= expm1 tonearest m68k96 -0x4p-1076 : -0x4p-1076 : inexact-ok
-= expm1 towardzero m68k96 -0x4p-1076 : -0x3.fffffffffffffffcp-1076 : inexact-ok
-= expm1 upward m68k96 -0x4p-1076 : -0x3.fffffffffffffffcp-1076 : inexact-ok
-= expm1 downward binary128 -0x4p-1076 : -0x4p-1076 : inexact-ok
-= expm1 tonearest binary128 -0x4p-1076 : -0x4p-1076 : inexact-ok
-= expm1 towardzero binary128 -0x4p-1076 : -0x3.fffffffffffffffffffffffffffep-1076 : inexact-ok
-= expm1 upward binary128 -0x4p-1076 : -0x3.fffffffffffffffffffffffffffep-1076 : inexact-ok
-= expm1 downward ibm128 -0x4p-1076 : -0x4p-1076 : xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
-= expm1 tonearest ibm128 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
-= expm1 towardzero ibm128 -0x4p-1076 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
-= expm1 upward ibm128 -0x4p-1076 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
-= expm1 downward intel96 -0x1p-10000 : -0x1p-10000 : inexact-ok
-= expm1 tonearest intel96 -0x1p-10000 : -0x1p-10000 : inexact-ok
-= expm1 towardzero intel96 -0x1p-10000 : -0xf.fffffffffffffffp-10004 : inexact-ok
-= expm1 upward intel96 -0x1p-10000 : -0xf.fffffffffffffffp-10004 : inexact-ok
-= expm1 downward m68k96 -0x1p-10000 : -0x1p-10000 : inexact-ok
-= expm1 tonearest m68k96 -0x1p-10000 : -0x1p-10000 : inexact-ok
-= expm1 towardzero m68k96 -0x1p-10000 : -0xf.fffffffffffffffp-10004 : inexact-ok
-= expm1 upward m68k96 -0x1p-10000 : -0xf.fffffffffffffffp-10004 : inexact-ok
-= expm1 downward binary128 -0x1p-10000 : -0x1p-10000 : inexact-ok
-= expm1 tonearest binary128 -0x1p-10000 : -0x1p-10000 : inexact-ok
-= expm1 towardzero binary128 -0x1p-10000 : -0xf.fffffffffffffffffffffffffff8p-10004 : inexact-ok
-= expm1 upward binary128 -0x1p-10000 : -0xf.fffffffffffffffffffffffffff8p-10004 : inexact-ok
+expm1 -0x1p-10000 no-mathvec
+= expm1 downward binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 tonearest ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 towardzero ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 upward ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
+= expm1 downward binary32 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 tonearest binary32 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 towardzero binary32 -0x8p-152 : -0x0p+0 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 upward binary32 -0x8p-152 : -0x0p+0 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 downward binary64 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 tonearest binary64 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 towardzero binary64 -0x8p-152 : -0x7.ffffffffffffcp-152 : no-mathvec inexact-ok
+= expm1 upward binary64 -0x8p-152 : -0x7.ffffffffffffcp-152 : no-mathvec inexact-ok
+= expm1 downward intel96 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 tonearest intel96 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 towardzero intel96 -0x8p-152 : -0x7.fffffffffffffff8p-152 : no-mathvec inexact-ok
+= expm1 upward intel96 -0x8p-152 : -0x7.fffffffffffffff8p-152 : no-mathvec inexact-ok
+= expm1 downward m68k96 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 tonearest m68k96 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 towardzero m68k96 -0x8p-152 : -0x7.fffffffffffffff8p-152 : no-mathvec inexact-ok
+= expm1 upward m68k96 -0x8p-152 : -0x7.fffffffffffffff8p-152 : no-mathvec inexact-ok
+= expm1 downward binary128 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 tonearest binary128 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 towardzero binary128 -0x8p-152 : -0x7.fffffffffffffffffffffffffffcp-152 : no-mathvec inexact-ok
+= expm1 upward binary128 -0x8p-152 : -0x7.fffffffffffffffffffffffffffcp-152 : no-mathvec inexact-ok
+= expm1 downward ibm128 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 tonearest ibm128 -0x8p-152 : -0x8p-152 : no-mathvec inexact-ok
+= expm1 towardzero ibm128 -0x8p-152 : -0x7.fffffffffffffffffffffffffep-152 : no-mathvec inexact-ok
+= expm1 upward ibm128 -0x8p-152 : -0x7.fffffffffffffffffffffffffep-152 : no-mathvec inexact-ok
+= expm1 downward binary64 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 tonearest binary64 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 towardzero binary64 -0x4p-1076 : -0x0p+0 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 upward binary64 -0x4p-1076 : -0x0p+0 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 downward intel96 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok
+= expm1 tonearest intel96 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok
+= expm1 towardzero intel96 -0x4p-1076 : -0x3.fffffffffffffffcp-1076 : no-mathvec inexact-ok
+= expm1 upward intel96 -0x4p-1076 : -0x3.fffffffffffffffcp-1076 : no-mathvec inexact-ok
+= expm1 downward m68k96 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok
+= expm1 tonearest m68k96 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok
+= expm1 towardzero m68k96 -0x4p-1076 : -0x3.fffffffffffffffcp-1076 : no-mathvec inexact-ok
+= expm1 upward m68k96 -0x4p-1076 : -0x3.fffffffffffffffcp-1076 : no-mathvec inexact-ok
+= expm1 downward binary128 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok
+= expm1 tonearest binary128 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok
+= expm1 towardzero binary128 -0x4p-1076 : -0x3.fffffffffffffffffffffffffffep-1076 : no-mathvec inexact-ok
+= expm1 upward binary128 -0x4p-1076 : -0x3.fffffffffffffffffffffffffffep-1076 : no-mathvec inexact-ok
+= expm1 downward ibm128 -0x4p-1076 : -0x4p-1076 : no-mathvec xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
+= expm1 tonearest ibm128 -0x4p-1076 : -0x4p-1076 : no-mathvec inexact-ok underflow errno-erange-ok
+= expm1 towardzero ibm128 -0x4p-1076 : -0x0p+0 : no-mathvec xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
+= expm1 upward ibm128 -0x4p-1076 : -0x0p+0 : no-mathvec xfail:ibm128-libgcc inexact-ok underflow errno-erange-ok
+= expm1 downward intel96 -0x1p-10000 : -0x1p-10000 : no-mathvec inexact-ok
+= expm1 tonearest intel96 -0x1p-10000 : -0x1p-10000 : no-mathvec inexact-ok
+= expm1 towardzero intel96 -0x1p-10000 : -0xf.fffffffffffffffp-10004 : no-mathvec inexact-ok
+= expm1 upward intel96 -0x1p-10000 : -0xf.fffffffffffffffp-10004 : no-mathvec inexact-ok
+= expm1 downward m68k96 -0x1p-10000 : -0x1p-10000 : no-mathvec inexact-ok
+= expm1 tonearest m68k96 -0x1p-10000 : -0x1p-10000 : no-mathvec inexact-ok
+= expm1 towardzero m68k96 -0x1p-10000 : -0xf.fffffffffffffffp-10004 : no-mathvec inexact-ok
+= expm1 upward m68k96 -0x1p-10000 : -0xf.fffffffffffffffp-10004 : no-mathvec inexact-ok
+= expm1 downward binary128 -0x1p-10000 : -0x1p-10000 : no-mathvec inexact-ok
+= expm1 tonearest binary128 -0x1p-10000 : -0x1p-10000 : no-mathvec inexact-ok
+= expm1 towardzero binary128 -0x1p-10000 : -0xf.fffffffffffffffffffffffffff8p-10004 : no-mathvec inexact-ok
+= expm1 upward binary128 -0x1p-10000 : -0xf.fffffffffffffffffffffffffff8p-10004 : no-mathvec inexact-ok
 expm1 0xe.4152ac57cd1ea7ap-60
 = expm1 downward binary32 0xe.4152bp-60 : 0xe.4152bp-60 : inexact-ok
 = expm1 tonearest binary32 0xe.4152bp-60 : 0xe.4152bp-60 : inexact-ok