summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc32/fpu/s_lrint.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/powerpc32/fpu/s_lrint.S')
-rw-r--r--sysdeps/powerpc/powerpc32/fpu/s_lrint.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_lrint.S b/sysdeps/powerpc/powerpc32/fpu/s_lrint.S
index 55e9de7e2a..da0a1e505a 100644
--- a/sysdeps/powerpc/powerpc32/fpu/s_lrint.S
+++ b/sysdeps/powerpc/powerpc32/fpu/s_lrint.S
@@ -21,13 +21,15 @@
#include <math_ldbl_opt.h>
/* long int[r3] __lrint (double x[fp1]) */
-ENTRY (__lrint)
+ENTRY (__lrint)
+ stwu r1,-16(r1)
fctiw fp13,fp1
- stfd fp13,-8(r1)
+ stfd fp13,8(r1)
nop /* Insure the following load is in a different dispatch group */
nop /* to avoid pipe stall on POWER4&5. */
nop
- lwz r3,-4(r1)
+ lwz r3,12(r1)
+ addi r1,r1,16
blr
END (__lrint)