Browse Source

fix x86_64 lrintl asm, again

the underlying problem was not incorrect sign extension (fixed in the
previous commit to this file by nsz) but that code that treats "long"
as 32-bit was copied blindly from i386 to x86_64.

now lrintl is identical to llrintl on x86_64, as it should be.
Rich Felker 11 years ago
parent
commit
2f1de8051b
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/math/x86_64/lrintl.s

+ 2 - 2
src/math/x86_64/lrintl.s

@@ -2,6 +2,6 @@
 .type lrintl,@function
 lrintl:
 	fldt 8(%rsp)
-	fistpl 8(%rsp)
-	movslq 8(%rsp),%rax
+	fistpll 8(%rsp)
+	mov 8(%rsp),%rax
 	ret