Explorar o código

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 %!s(int64=11) %!d(string=hai) anos
pai
achega
2f1de8051b
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  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