From 2f1de8051b4b33445ca233868e573ec838c81f65 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 13 Sep 2013 01:22:13 -0400 Subject: [PATCH] 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. --- src/math/x86_64/lrintl.s | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/math/x86_64/lrintl.s b/src/math/x86_64/lrintl.s index 0e2c7712..d587b12b 100644 --- a/src/math/x86_64/lrintl.s +++ b/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