aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-03-15 19:56:36 -0400
committerRich Felker <dalias@aerifal.cx>2012-03-15 19:56:36 -0400
commit9d507419db1289033c59da6976f8675f24ab873f (patch)
tree622fe4942ed4255c860c8190c9a445b60f53febd
parentsimplify nan check in sqrt (x86 asm); result of sqrt is never negative (diff)
downloadgrovel-9d507419db1289033c59da6976f8675f24ab873f.tar.gz
grovel-9d507419db1289033c59da6976f8675f24ab873f.tar.xz
remove special nan handling from x86 sqrt asm
a double precision nan, when converted to extended (80-bit) precision, will never end in 0x400, since the corresponding bits do not exist in the original double precision value. thus there's no need to waste time and code size on this check.
-rw-r--r--src/math/i386/sqrt.s3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/math/i386/sqrt.s b/src/math/i386/sqrt.s
index 1bd3b05e..8289d094 100644
--- a/src/math/i386/sqrt.s
+++ b/src/math/i386/sqrt.s
@@ -10,9 +10,6 @@ sqrt: fldl 4(%esp)
and $0x7ff,%ecx
cmp $0x400,%ecx
jnz 1f
- mov 8(%esp),%cx
- inc %cx
- jo 1f
and $0x200,%eax
sub $0x100,%eax
sub %eax,(%esp)