summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--math/libm-test.inc2
-rw-r--r--sysdeps/i386/fpu/s_cbrtl.S1
3 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 20e21393d0..201516873b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-06-08  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #20224]
+	* sysdeps/i386/fpu/s_cbrtl.S (__cbrtl): Add non-finite or zero
+	argument to itself.
+	* math/libm-test.inc (cbrt_test_data): Add sNaN tests.
+
 2016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #19776]
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 7913f44752..520f141446 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -5875,6 +5875,8 @@ static const struct test_f_f_data cbrt_test_data[] =
     TEST_f_f (cbrt, minus_infty, minus_infty, ERRNO_UNCHANGED),
     TEST_f_f (cbrt, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
     TEST_f_f (cbrt, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_f_f (cbrt, snan_value, qnan_value, INVALID_EXCEPTION),
+    TEST_f_f (cbrt, -snan_value, qnan_value, INVALID_EXCEPTION),
 
     AUTO_TESTS_f_f (cbrt),
   };
diff --git a/sysdeps/i386/fpu/s_cbrtl.S b/sysdeps/i386/fpu/s_cbrtl.S
index 3bf170075b..6a64313165 100644
--- a/sysdeps/i386/fpu/s_cbrtl.S
+++ b/sysdeps/i386/fpu/s_cbrtl.S
@@ -223,6 +223,7 @@ ENTRY(__cbrtl)
 
 	/* Return the argument.  */
 1:	fldt	4(%esp)
+	fadd	%st
 	ret
 END(__cbrtl)
 weak_alias (__cbrtl, cbrtl)