about summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/power6x
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/powerpc64/power6x')
-rw-r--r--sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S7
-rw-r--r--sysdeps/powerpc/powerpc64/power6x/fpu/s_llroundf.S1
2 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S
index 6d1db55506..d58b3380a0 100644
--- a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S
+++ b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S
@@ -41,6 +41,13 @@ ENTRY_TOCLESS (__llround)
 strong_alias (__llround, __lround)
 weak_alias (__llround, llround)
 weak_alias (__lround, lround)
+/* The double version also works for single-precision as both float and
+   double parameters are passed in 64bit FPRs and both versions are expected
+   to return [long] long type.  */
+strong_alias (__llround, __llroundf)
+weak_alias (__llround, llroundf)
+strong_alias (__lround, __lroundf)
+weak_alias (__lround, lroundf)
 
 #ifdef NO_LONG_DOUBLE
 weak_alias (__llround, llroundl)
diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llroundf.S b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llroundf.S
new file mode 100644
index 0000000000..9ea6bd105b
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llroundf.S
@@ -0,0 +1 @@
+/* __lroundf is in s_llround.S.  */