summary refs log tree commit diff
path: root/sysdeps/x86_64
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-11-16 12:45:11 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-11-16 12:45:11 +0000
commit66294491665029eff0cf3ebd5fb6f04582da6c1e (patch)
tree5d398338d64b21bba5eb702a543cfd456c46418a /sysdeps/x86_64
parentb46d046e7bf7e0f96e41e522da731b89177e31ab (diff)
downloadglibc-66294491665029eff0cf3ebd5fb6f04582da6c1e.tar.gz
glibc-66294491665029eff0cf3ebd5fb6f04582da6c1e.tar.xz
glibc-66294491665029eff0cf3ebd5fb6f04582da6c1e.zip
Fix spurious "inexact" exceptions from x86 pow with NaN argument (bug 16167).
Diffstat (limited to 'sysdeps/x86_64')
-rw-r--r--sysdeps/x86_64/fpu/e_powl.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/x86_64/fpu/e_powl.S b/sysdeps/x86_64/fpu/e_powl.S
index e10172674e..590223b60c 100644
--- a/sysdeps/x86_64/fpu/e_powl.S
+++ b/sysdeps/x86_64/fpu/e_powl.S
@@ -96,6 +96,9 @@ ENTRY(__ieee754_powl)
 	cmpb	$0x05, %ah
 	je	15f		// x is ħinf
 
+	cmpb	$0x01, %ah
+	je	31f		// x is NaN
+
 	fxch			// y : x
 
 	/* fistpll raises invalid exception for |y| >= 1L<<63.  */