aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-12-05 14:01:41 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-12-05 14:01:41 +0000
commite47cc4e0ed06f4167b6bd8ac39e12d094e0dc474 (patch)
tree1a1f08bd5751795b08e013f499f49df0830917fc
parentbbf37bdc12c0370a0ac2fa597cddd660bad6ec5e (diff)
downloadglibc-e47cc4e0ed06f4167b6bd8ac39e12d094e0dc474.tar.xz
glibc-e47cc4e0ed06f4167b6bd8ac39e12d094e0dc474.zip
Fix tgamma errno setting on underflow (bug 6810).
-rw-r--r--ChangeLog13
-rw-r--r--NEWS26
-rw-r--r--math/auto-libm-test-in294
-rw-r--r--math/auto-libm-test-out4962
-rw-r--r--math/w_tgamma.c5
-rw-r--r--math/w_tgammaf.c6
-rw-r--r--math/w_tgammal.c5
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps3
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps3
9 files changed, 2696 insertions, 2621 deletions
diff --git a/ChangeLog b/ChangeLog
index 37b5326e46..587b86cce4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2013-12-05 Joseph Myers <joseph@codesourcery.com>
+ [BZ #6810]
+ * math/w_tgamma.c: Include <errno.h>.
+ (__tgamma): Use __glibc_unlikely. Set errno on underflow to 0.
+ * math/w_tgammaf.c: Include <errno.h>.
+ (__tgammaf): Use __glibc_unlikely. Set errno on underflow to 0.
+ * math/w_tgammal.c: Include <errno.h>.
+ (__tgammal): Use __glibc_unlikely. Set errno on underflow to 0.
+ * math/auto-libm-test-in: Do not allow missing errno on tgamma
+ underflow. Add more tgamma tests.
+ * math/auto-libm-test-out: Regenerated.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+ * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
* math/auto-libm-test-in: Add tests of log, log10, log1p, log2,
sin, sinh, tan, tanh, tgamma, y0 and y1.
* math/auto-libm-test-out: Regenerated.
diff --git a/NEWS b/NEWS
index 56dbb0d4c3..c9ba3b7f5d 100644
--- a/NEWS
+++ b/NEWS
@@ -9,19 +9,19 @@ Version 2.19
* The following bugs are resolved with this release:
- 156, 387, 431, 832, 926, 2801, 4772, 6786, 6787, 6807, 7003, 9954, 10253,
- 10278, 11087, 11157, 11214, 12486, 13028, 13982, 13985, 14029, 14032,
- 14143, 14155, 14547, 14699, 14752, 14876, 14910, 15004, 15048, 15218,
- 15268, 15277, 15308, 15362, 15374, 15400, 15425, 15427, 15483, 15522,
- 15531, 15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670, 15672,
- 15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760,
- 15763, 15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856,
- 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897,
- 15901, 15905, 15909, 15915, 15917, 15919, 15921, 15923, 15939, 15941,
- 15948, 15963, 15966, 15985, 15988, 15997, 16032, 16034, 16036, 16037,
- 16038, 16041, 16055, 16071, 16072, 16074, 16077, 16078, 16103, 16112,
- 16143, 16144, 16146, 16150, 16151, 16153, 16167, 16172, 16195, 16214,
- 16245, 16271, 16274, 16283, 16289.
+ 156, 387, 431, 832, 926, 2801, 4772, 6786, 6787, 6807, 6810, 7003, 9954,
+ 10253, 10278, 11087, 11157, 11214, 12486, 13028, 13982, 13985, 14029,
+ 14032, 14143, 14155, 14547, 14699, 14752, 14876, 14910, 15004, 15048,
+ 15218, 15268, 15277, 15308, 15362, 15374, 15400, 15425, 15427, 15483,
+ 15522, 15531, 15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670,
+ 15672, 15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754,
+ 15760, 15763, 15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855,
+ 15856, 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895,
+ 15897, 15901, 15905, 15909, 15915, 15917, 15919, 15921, 15923, 15939,
+ 15941, 15948, 15963, 15966, 15985, 15988, 15997, 16032, 16034, 16036,
+ 16037, 16038, 16041, 16055, 16071, 16072, 16074, 16077, 16078, 16103,
+ 16112, 16143, 16144, 16146, 16150, 16151, 16153, 16167, 16172, 16195,
+ 16214, 16245, 16271, 16274, 16283, 16289.
* The public headers no longer use __unused nor __block. This change is to
support compiling programs that are derived from BSD sources and use
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index c7148ce743..cda78166d0 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -596,9 +596,8 @@ tgamma -0x27.ffffcp0
tgamma -0x28.00004p0
tgamma -0x28.ffffcp0
tgamma -0x29.00004p0
-# Bug 6810: errno may not be set on underflow.
-tgamma -0x29.ffffcp0 missing-errno
-tgamma -0x2a.00004p0 missing-errno
+tgamma -0x29.ffffcp0
+tgamma -0x2a.00004p0
tgamma 0x8.0000000000008p0
tgamma 0x7.ffffffffffffcp0
tgamma 0x7.0000000000004p0
@@ -641,23 +640,22 @@ tgamma -0x27.fffffffffffep0
tgamma -0x28.000000000002p0
tgamma -0x28.fffffffffffep0
tgamma -0x29.000000000002p0
-# Bug 6810: errno may not be set on underflow.
-tgamma -0x29.fffffffffffep0 missing-errno
-tgamma -0x2a.000000000002p0 missing-errno
-tgamma -0x31.fffffffffffep0 missing-errno
-tgamma -0x32.000000000002p0 missing-errno
-tgamma -0x63.fffffffffffcp0 missing-errno
-tgamma -0x64.000000000004p0 missing-errno
-tgamma -0x95.fffffffffff8p0 missing-errno
-tgamma -0x96.000000000008p0 missing-errno
-tgamma -0xb4.fffffffffff8p0 missing-errno
-tgamma -0xb5.000000000008p0 missing-errno
-tgamma -0xb5.fffffffffff8p0 missing-errno
-tgamma -0xb6.000000000008p0 missing-errno
-tgamma -0xb6.fffffffffff8p0 missing-errno
-tgamma -0xb7.000000000008p0 missing-errno
-tgamma -0xb7.fffffffffff8p0 missing-errno
-tgamma -0xb8.000000000008p0 missing-errno
+tgamma -0x29.fffffffffffep0
+tgamma -0x2a.000000000002p0
+tgamma -0x31.fffffffffffep0
+tgamma -0x32.000000000002p0
+tgamma -0x63.fffffffffffcp0
+tgamma -0x64.000000000004p0
+tgamma -0x95.fffffffffff8p0
+tgamma -0x96.000000000008p0
+tgamma -0xb4.fffffffffff8p0
+tgamma -0xb5.000000000008p0
+tgamma -0xb5.fffffffffff8p0
+tgamma -0xb6.000000000008p0
+tgamma -0xb6.fffffffffff8p0
+tgamma -0xb7.000000000008p0
+tgamma -0xb7.fffffffffff8p0
+tgamma -0xb8.000000000008p0
tgamma 0x8.00000000000000000000000004p0
tgamma 0x7.fffffffffffffffffffffffffep0
tgamma 0x7.00000000000000000000000002p0
@@ -700,31 +698,30 @@ tgamma -0x27.fffffffffffffffffffffffffp0
tgamma -0x28.0000000000000000000000001p0
tgamma -0x28.fffffffffffffffffffffffffp0
tgamma -0x29.0000000000000000000000001p0
-# Bug 6810: errno may not be set on underflow.
-tgamma -0x29.fffffffffffffffffffffffffp0 missing-errno
-tgamma -0x2a.0000000000000000000000001p0 missing-errno
-tgamma -0x31.fffffffffffffffffffffffffp0 missing-errno
-tgamma -0x32.0000000000000000000000001p0 missing-errno
-tgamma -0x63.ffffffffffffffffffffffffep0 missing-errno
-tgamma -0x64.0000000000000000000000002p0 missing-errno
-tgamma -0x95.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x96.0000000000000000000000004p0 missing-errno
-tgamma -0xb4.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0xb5.0000000000000000000000004p0 missing-errno
-tgamma -0xb5.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0xb6.0000000000000000000000004p0 missing-errno
-tgamma -0xb6.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0xb7.0000000000000000000000004p0 missing-errno
-tgamma -0xb7.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0xb8.0000000000000000000000004p0 missing-errno
-tgamma -0xbb.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0xbc.0000000000000000000000004p0 missing-errno
-tgamma -0xbc.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0xbd.0000000000000000000000004p0 missing-errno
-tgamma -0xbd.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0xbe.0000000000000000000000004p0 missing-errno
-tgamma -0xbe.ffffffffffffffffffffffffcp0 missing-errno
-tgamma -0xbf.0000000000000000000000004p0 missing-errno
+tgamma -0x29.fffffffffffffffffffffffffp0
+tgamma -0x2a.0000000000000000000000001p0
+tgamma -0x31.fffffffffffffffffffffffffp0
+tgamma -0x32.0000000000000000000000001p0
+tgamma -0x63.ffffffffffffffffffffffffep0
+tgamma -0x64.0000000000000000000000002p0
+tgamma -0x95.ffffffffffffffffffffffffcp0
+tgamma -0x96.0000000000000000000000004p0
+tgamma -0xb4.ffffffffffffffffffffffffcp0
+tgamma -0xb5.0000000000000000000000004p0
+tgamma -0xb5.ffffffffffffffffffffffffcp0
+tgamma -0xb6.0000000000000000000000004p0
+tgamma -0xb6.ffffffffffffffffffffffffcp0
+tgamma -0xb7.0000000000000000000000004p0
+tgamma -0xb7.ffffffffffffffffffffffffcp0
+tgamma -0xb8.0000000000000000000000004p0
+tgamma -0xbb.ffffffffffffffffffffffffcp0
+tgamma -0xbc.0000000000000000000000004p0
+tgamma -0xbc.ffffffffffffffffffffffffcp0
+tgamma -0xbd.0000000000000000000000004p0
+tgamma -0xbd.ffffffffffffffffffffffffcp0
+tgamma -0xbe.0000000000000000000000004p0
+tgamma -0xbe.ffffffffffffffffffffffffcp0
+tgamma -0xbf.0000000000000000000000004p0
tgamma 0x8.000000000000001p0
tgamma 0x7.fffffffffffffff8p0
tgamma 0x7.0000000000000008p0
@@ -767,53 +764,52 @@ tgamma -0x27.ffffffffffffffcp0
tgamma -0x28.000000000000004p0
tgamma -0x28.ffffffffffffffcp0
tgamma -0x29.000000000000004p0
-# Bug 6810: errno may not be set on underflow.
-tgamma -0x29.ffffffffffffffcp0 missing-errno
-tgamma -0x2a.000000000000004p0 missing-errno
-tgamma -0x31.ffffffffffffffcp0 missing-errno
-tgamma -0x32.000000000000004p0 missing-errno
-tgamma -0x63.ffffffffffffff8p0 missing-errno
-tgamma -0x64.000000000000008p0 missing-errno
-tgamma -0x95.ffffffffffffffp0 missing-errno
-tgamma -0x96.00000000000001p0 missing-errno
-tgamma -0xb4.ffffffffffffffp0 missing-errno
-tgamma -0xb5.00000000000001p0 missing-errno
-tgamma -0xb5.ffffffffffffffp0 missing-errno
-tgamma -0xb6.00000000000001p0 missing-errno
-tgamma -0xb6.ffffffffffffffp0 missing-errno
-tgamma -0xb7.00000000000001p0 missing-errno
-tgamma -0xb7.ffffffffffffffp0 missing-errno
-tgamma -0xb8.00000000000001p0 missing-errno
-tgamma -0xbb.ffffffffffffffp0 missing-errno
-tgamma -0xbc.00000000000001p0 missing-errno
-tgamma -0xbc.ffffffffffffffp0 missing-errno
-tgamma -0xbd.00000000000001p0 missing-errno
-tgamma -0xbd.ffffffffffffffp0 missing-errno
-tgamma -0xbe.00000000000001p0 missing-errno
-tgamma -0xbe.ffffffffffffffp0 missing-errno
-tgamma -0xbf.00000000000001p0 missing-errno
-tgamma -0xf9.ffffffffffffffp0 missing-errno
-tgamma -0xfa.00000000000001p0 missing-errno
-tgamma -0x1f3.fffffffffffffep0 missing-errno
-tgamma -0x1f4.00000000000002p0 missing-errno
-tgamma -0x2ed.fffffffffffffcp0 missing-errno
-tgamma -0x2ee.00000000000004p0 missing-errno
-tgamma -0x3e7.fffffffffffffcp0 missing-errno
-tgamma -0x3e8.00000000000004p0 missing-errno
-tgamma -0x4e1.fffffffffffff8p0 missing-errno
-tgamma -0x4e2.00000000000008p0 missing-errno
-tgamma -0x5db.fffffffffffff8p0 missing-errno
-tgamma -0x5dc.00000000000008p0 missing-errno
-tgamma -0x6d5.fffffffffffff8p0 missing-errno
-tgamma -0x6d6.00000000000008p0 missing-errno
-tgamma -0x6e2.fffffffffffff8p0 missing-errno
-tgamma -0x6e3.00000000000008p0 missing-errno
-tgamma -0x6e3.fffffffffffff8p0 missing-errno
-tgamma -0x6e4.00000000000008p0 missing-errno
-tgamma -0x6e4.fffffffffffff8p0 missing-errno
-tgamma -0x6e5.00000000000008p0 missing-errno
-tgamma -0x6e5.fffffffffffff8p0 missing-errno
-tgamma -0x6e6.00000000000008p0 missing-errno
+tgamma -0x29.ffffffffffffffcp0
+tgamma -0x2a.000000000000004p0
+tgamma -0x31.ffffffffffffffcp0
+tgamma -0x32.000000000000004p0
+tgamma -0x63.ffffffffffffff8p0
+tgamma -0x64.000000000000008p0
+tgamma -0x95.ffffffffffffffp0
+tgamma -0x96.00000000000001p0
+tgamma -0xb4.ffffffffffffffp0
+tgamma -0xb5.00000000000001p0
+tgamma -0xb5.ffffffffffffffp0
+tgamma -0xb6.00000000000001p0
+tgamma -0xb6.ffffffffffffffp0
+tgamma -0xb7.00000000000001p0
+tgamma -0xb7.ffffffffffffffp0
+tgamma -0xb8.00000000000001p0
+tgamma -0xbb.ffffffffffffffp0
+tgamma -0xbc.00000000000001p0
+tgamma -0xbc.ffffffffffffffp0
+tgamma -0xbd.00000000000001p0
+tgamma -0xbd.ffffffffffffffp0
+tgamma -0xbe.00000000000001p0
+tgamma -0xbe.ffffffffffffffp0
+tgamma -0xbf.00000000000001p0
+tgamma -0xf9.ffffffffffffffp0
+tgamma -0xfa.00000000000001p0
+tgamma -0x1f3.fffffffffffffep0
+tgamma -0x1f4.00000000000002p0
+tgamma -0x2ed.fffffffffffffcp0
+tgamma -0x2ee.00000000000004p0
+tgamma -0x3e7.fffffffffffffcp0
+tgamma -0x3e8.00000000000004p0
+tgamma -0x4e1.fffffffffffff8p0
+tgamma -0x4e2.00000000000008p0
+tgamma -0x5db.fffffffffffff8p0
+tgamma -0x5dc.00000000000008p0
+tgamma -0x6d5.fffffffffffff8p0
+tgamma -0x6d6.00000000000008p0
+tgamma -0x6e2.fffffffffffff8p0
+tgamma -0x6e3.00000000000008p0
+tgamma -0x6e3.fffffffffffff8p0
+tgamma -0x6e4.00000000000008p0
+tgamma -0x6e4.fffffffffffff8p0
+tgamma -0x6e5.00000000000008p0
+tgamma -0x6e5.fffffffffffff8p0
+tgamma -0x6e6.00000000000008p0
tgamma 0x8.0000000000000000000000000008p0
tgamma 0x7.fffffffffffffffffffffffffffcp0
tgamma 0x7.0000000000000000000000000004p0
@@ -856,64 +852,62 @@ tgamma -0x27.ffffffffffffffffffffffffffep0
tgamma -0x28.000000000000000000000000002p0
tgamma -0x28.ffffffffffffffffffffffffffep0
tgamma -0x29.000000000000000000000000002p0
-# Bug 6810: errno may not be set on underflow.
-tgamma -0x29.ffffffffffffffffffffffffffep0 missing-errno
-tgamma -0x2a.000000000000000000000000002p0 missing-errno
-tgamma -0x31.ffffffffffffffffffffffffffep0 missing-errno
-tgamma -0x32.000000000000000000000000002p0 missing-errno
-tgamma -0x63.ffffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x64.000000000000000000000000004p0 missing-errno
-tgamma -0x95.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0x96.000000000000000000000000008p0 missing-errno
-tgamma -0xb4.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xb5.000000000000000000000000008p0 missing-errno
-tgamma -0xb5.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xb6.000000000000000000000000008p0 missing-errno
-tgamma -0xb6.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xb7.000000000000000000000000008p0 missing-errno
-tgamma -0xb7.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xb8.000000000000000000000000008p0 missing-errno
-tgamma -0xbb.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xbc.000000000000000000000000008p0 missing-errno
-tgamma -0xbc.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xbd.000000000000000000000000008p0 missing-errno
-tgamma -0xbd.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xbe.000000000000000000000000008p0 missing-errno
-tgamma -0xbe.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xbf.000000000000000000000000008p0 missing-errno
-tgamma -0xf9.ffffffffffffffffffffffffff8p0 missing-errno
-tgamma -0xfa.000000000000000000000000008p0 missing-errno
-tgamma -0x1f3.ffffffffffffffffffffffffffp0 missing-errno
-tgamma -0x1f4.00000000000000000000000001p0 missing-errno
-tgamma -0x2ed.fffffffffffffffffffffffffep0 missing-errno
-tgamma -0x2ee.00000000000000000000000002p0 missing-errno
-tgamma -0x3e7.fffffffffffffffffffffffffep0 missing-errno
-tgamma -0x3e8.00000000000000000000000002p0 missing-errno
-tgamma -0x4e1.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x4e2.00000000000000000000000004p0 missing-errno
-tgamma -0x5db.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x5dc.00000000000000000000000004p0 missing-errno
-tgamma -0x6d5.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6d6.00000000000000000000000004p0 missing-errno
-tgamma -0x6e2.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6e3.00000000000000000000000004p0 missing-errno
-tgamma -0x6e3.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6e4.00000000000000000000000004p0 missing-errno
-tgamma -0x6e4.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6e5.00000000000000000000000004p0 missing-errno
-tgamma -0x6e5.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6e6.00000000000000000000000004p0 missing-errno
-tgamma -0x6eb.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6ec.00000000000000000000000004p0 missing-errno
-tgamma -0x6ec.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6ed.00000000000000000000000004p0 missing-errno
-tgamma -0x6ed.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6ee.00000000000000000000000004p0 missing-errno
-tgamma -0x6ee.fffffffffffffffffffffffffcp0 missing-errno
-tgamma -0x6ef.00000000000000000000000004p0 missing-errno
+tgamma -0x29.ffffffffffffffffffffffffffep0
+tgamma -0x2a.000000000000000000000000002p0
+tgamma -0x31.ffffffffffffffffffffffffffep0
+tgamma -0x32.000000000000000000000000002p0
+tgamma -0x63.ffffffffffffffffffffffffffcp0
+tgamma -0x64.000000000000000000000000004p0
+tgamma -0x95.ffffffffffffffffffffffffff8p0
+tgamma -0x96.000000000000000000000000008p0
+tgamma -0xb4.ffffffffffffffffffffffffff8p0
+tgamma -0xb5.000000000000000000000000008p0
+tgamma -0xb5.ffffffffffffffffffffffffff8p0
+tgamma -0xb6.000000000000000000000000008p0
+tgamma -0xb6.ffffffffffffffffffffffffff8p0
+tgamma -0xb7.000000000000000000000000008p0
+tgamma -0xb7.ffffffffffffffffffffffffff8p0
+tgamma -0xb8.000000000000000000000000008p0
+tgamma -0xbb.ffffffffffffffffffffffffff8p0
+tgamma -0xbc.000000000000000000000000008p0
+tgamma -0xbc.ffffffffffffffffffffffffff8p0
+tgamma -0xbd.000000000000000000000000008p0
+tgamma -0xbd.ffffffffffffffffffffffffff8p0
+tgamma -0xbe.000000000000000000000000008p0
+tgamma -0xbe.ffffffffffffffffffffffffff8p0
+tgamma -0xbf.000000000000000000000000008p0
+tgamma -0xf9.ffffffffffffffffffffffffff8p0
+tgamma -0xfa.000000000000000000000000008p0
+tgamma -0x1f3.ffffffffffffffffffffffffffp0
+tgamma -0x1f4.00000000000000000000000001p0
+tgamma -0x2ed.fffffffffffffffffffffffffep0
+tgamma -0x2ee.00000000000000000000000002p0
+tgamma -0x3e7.fffffffffffffffffffffffffep0
+tgamma -0x3e8.00000000000000000000000002p0
+tgamma -0x4e1.fffffffffffffffffffffffffcp0
+tgamma -0x4e2.00000000000000000000000004p0
+tgamma -0x5db.fffffffffffffffffffffffffcp0
+tgamma -0x5dc.00000000000000000000000004p0
+tgamma -0x6d5.fffffffffffffffffffffffffcp0
+tgamma -0x6d6.00000000000000000000000004p0
+tgamma -0x6e2.fffffffffffffffffffffffffcp0
+tgamma -0x6e3.00000000000000000000000004p0
+tgamma -0x6e3.fffffffffffffffffffffffffcp0
+tgamma -0x6e4.00000000000000000000000004p0
+tgamma -0x6e4.fffffffffffffffffffffffffcp0
+tgamma -0x6e5.00000000000000000000000004p0
+tgamma -0x6e5.fffffffffffffffffffffffffcp0
+tgamma -0x6e6.00000000000000000000000004p0
+tgamma -0x6eb.fffffffffffffffffffffffffcp0
+tgamma -0x6ec.00000000000000000000000004p0
+tgamma -0x6ec.fffffffffffffffffffffffffcp0
+tgamma -0x6ed.00000000000000000000000004p0
+tgamma -0x6ed.fffffffffffffffffffffffffcp0
+tgamma -0x6ee.00000000000000000000000004p0
+tgamma -0x6ee.fffffffffffffffffffffffffcp0
+tgamma -0x6ef.00000000000000000000000004p0
tgamma -0x1.0a32a2p+5
-# Bug 6810: errno may not be set on underflow.
-tgamma -0x1.5800000080001p+7 missing-errno
+tgamma -0x1.5800000080001p+7
tgamma 18.5
tgamma 19.5
tgamma 23.5
@@ -933,6 +927,8 @@ tgamma 0x6.db8c603359a97108p+8
tgamma 0x6.db8c603359a9711p+8
tgamma 0x6.db8c603359a971081bc4a2e9dfdp+8
tgamma 0x6.db8c603359a971081bc4a2e9dfd4p+8
+tgamma 1e3
+tgamma -100000.5
y0 0.125
y0 0.75
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 411fdc31c9..e9012b52bc 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -22025,10 +22025,10 @@ tgamma -0x29.00004p0
= tgamma tonearest ldbl-128ibm -0x2.900004p+4L : 0x2.cbc99dbe11b36857904d8e9868p-148L : inexact-ok
= tgamma towardzero ldbl-128ibm -0x2.900004p+4L : 0x2.cbc99dbe11b36857904d8e9868p-148L : inexact-ok
= tgamma upward ldbl-128ibm -0x2.900004p+4L : 0x2.cbc99dbe11b36857904d8e9869p-148L : inexact-ok
-tgamma -0x29.ffffcp0 missing-errno
-= tgamma downward flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma tonearest flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma towardzero flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+tgamma -0x29.ffffcp0
+= tgamma downward flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
+= tgamma tonearest flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
+= tgamma towardzero flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
= tgamma upward flt-32 -0x2.9ffffcp+4f : 0x8p-152f : inexact-ok underflow errno-erange-ok
= tgamma downward dbl-64 -0x2.9ffffcp+4 : 0x1.10b05211e13c7p-152 : inexact-ok
= tgamma tonearest dbl-64 -0x2.9ffffcp+4 : 0x1.10b05211e13c7p-152 : inexact-ok
@@ -22050,11 +22050,11 @@ tgamma -0x29.ffffcp0 missing-errno
= tgamma tonearest ldbl-128ibm -0x2.9ffffcp+4L : 0x1.10b05211e13c736ab795b13e608p-152L : inexact-ok
= tgamma towardzero ldbl-128ibm -0x2.9ffffcp+4L : 0x1.10b05211e13c736ab795b13e6p-152L : inexact-ok
= tgamma upward ldbl-128ibm -0x2.9ffffcp+4L : 0x1.10b05211e13c736ab795b13e608p-152L : inexact-ok
-tgamma -0x2a.00004p0 missing-errno
+tgamma -0x2a.00004p0
= tgamma downward flt-32 -0x2.a00004p+4f : -0x8p-152f : inexact-ok underflow errno-erange-ok
-= tgamma tonearest flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma towardzero flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma upward flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+= tgamma tonearest flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange
+= tgamma towardzero flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange
+= tgamma upward flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange
= tgamma downward dbl-64 -0x2.a00004p+4 : -0x1.10ae52d9a7c62p-152 : inexact-ok
= tgamma tonearest dbl-64 -0x2.a00004p+4 : -0x1.10ae52d9a7c62p-152 : inexact-ok
= tgamma towardzero dbl-64 -0x2.a00004p+4 : -0x1.10ae52d9a7c61p-152 : inexact-ok
@@ -24349,10 +24349,10 @@ tgamma -0x29.000000000002p0
= tgamma tonearest ldbl-128ibm -0x2.9000000000002p+4L : 0x5.979870e740668687b53195c1dap-120L : inexact-ok
= tgamma towardzero ldbl-128ibm -0x2.9000000000002p+4L : 0x5.979870e740668687b53195c1dap-120L : inexact-ok
= tgamma upward ldbl-128ibm -0x2.9000000000002p+4L : 0x5.979870e740668687b53195c1dcp-120L : inexact-ok
-tgamma -0x29.fffffffffffep0 missing-errno
-= tgamma downward flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma tonearest flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma towardzero flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+tgamma -0x29.fffffffffffep0
+= tgamma downward flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
+= tgamma tonearest flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
+= tgamma towardzero flt-32 -0x2.9ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
= tgamma upward flt-32 -0x2.9ffffcp+4f : 0x8p-152f : inexact-ok underflow errno-erange-ok
= tgamma downward dbl-64 -0x2.9ffffcp+4 : 0x1.10b05211e13c7p-152 : inexact-ok
= tgamma tonearest dbl-64 -0x2.9ffffcp+4 : 0x1.10b05211e13c7p-152 : inexact-ok
@@ -24394,11 +24394,11 @@ tgamma -0x29.fffffffffffep0 missing-errno
= tgamma tonearest ldbl-128ibm -0x2.9fffffffffffep+4L : 0x2.215ea4ea61cd009a66d326ac8ap-124L : inexact-ok
= tgamma towardzero ldbl-128ibm -0x2.9fffffffffffep+4L : 0x2.215ea4ea61cd009a66d326ac89p-124L : inexact-ok
= tgamma upward ldbl-128ibm -0x2.9fffffffffffep+4L : 0x2.215ea4ea61cd009a66d326ac8ap-124L : inexact-ok
-tgamma -0x2a.000000000002p0 missing-errno
+tgamma -0x2a.000000000002p0
= tgamma downward flt-32 -0x2.a00004p+4f : -0x8p-152f : inexact-ok underflow errno-erange-ok
-= tgamma tonearest flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma towardzero flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma upward flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+= tgamma tonearest flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange
+= tgamma towardzero flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange
+= tgamma upward flt-32 -0x2.a00004p+4f : -0x0p+0f : inexact-ok underflow errno-erange
= tgamma downward dbl-64 -0x2.a00004p+4 : -0x1.10ae52d9a7c62p-152 : inexact-ok
= tgamma tonearest dbl-64 -0x2.a00004p+4 : -0x1.10ae52d9a7c62p-152 : inexact-ok
= tgamma towardzero dbl-64 -0x2.a00004p+4 : -0x1.10ae52d9a7c61p-152 : inexact-ok
@@ -24439,10 +24439,10 @@ tgamma -0x2a.000000000002p0 missing-errno
= tgamma tonearest ldbl-128ibm -0x2.a000000000002p+4L : -0x2.215ea4ea61ad0d16cf757159fdp-124L : inexact-ok
= tgamma towardzero ldbl-128ibm -0x2.a000000000002p+4L : -0x2.215ea4ea61ad0d16cf757159fdp-124L : inexact-ok
= tgamma upward ldbl-128ibm -0x2.a000000000002p+4L : -0x2.215ea4ea61ad0d16cf757159fdp-124L : inexact-ok
-tgamma -0x31.fffffffffffep0 missing-errno
-= tgamma downward flt-32 -0x3.1ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma tonearest flt-32 -0x3.1ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= tgamma towardzero flt-32 -0x3.1ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+tgamma -0x31.fffffffffffep0
+= tgamma downward flt-32 -0x3.1ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
+= tgamma tonearest flt-32 -0x3.1ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
+= tgamma towardzero flt-32 -0x3.1ffffcp+4f : 0x0p+0f : inexact-ok underflow errno-erange
= tgamma upward flt-32 -0x3.1ffffcp+4f : 0x8p-152f : inexact-ok underflow errno-erange-ok
= tgamma downward dbl-64 -0x3.1ffffcp+4 : 0xd.d9c54ba29fa78p-200 : inexact-ok
= tgamma tonearest dbl-64 -0x3.1ffffcp+4 : 0xd.d9c54ba29fa8p-200 : inexact-ok
@@ -24484,11 +24484,11 @@ tgamma -0x31.fffffffffffep0 missing-errno
= tgamma tonearest ldbl-128ibm -0x3.1fffffffffffep+4L : 0x1.bb36f6e12ce5169716d0dacfffp-168L : inexact-ok
= tgamma towardzero ldbl-128ibm -0x3.1fffffffffffep+4L : 0x1.bb36f6e12ce5169716d0dacfffp-168L : inexact-ok
= tgamma upward ldbl-128ibm -0x3.1fffffffffffep+4L : 0x1.bb36f6e12ce5169716d0dacfff8p-168L : inexact-ok
-tgamma -0x32.000000000002p0 missing-errno
+tgamma -0x32.000000000002p0
= tgamma downward flt-32 -0x3.200004p+4f : -0x8p-152f : inexact-ok underflow errno-erange-ok
-= tgamma tonearest flt-32 -0x3.200004p+4f : -0x0p+0f : inexact-ok underflow errno