summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMartynas Venckus <martynas@cvs.openbsd.org>2009-04-10 11:30:34 +0000
committerMartynas Venckus <martynas@cvs.openbsd.org>2009-04-10 11:30:34 +0000
commitdf62b489778e826707f1061b9c2c9add99d9d7af (patch)
tree0c5464566b4a9b0ed903d6b61887793a8f79961b /lib
parent2762d6caa1d744de66700e843278eb5b10efd288 (diff)
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
Diffstat (limited to 'lib')
-rw-r--r--lib/libm/Makefile3
-rw-r--r--lib/libm/arch/amd64/s_llrint.S12
-rw-r--r--lib/libm/arch/amd64/s_llrintf.S12
-rw-r--r--lib/libm/arch/amd64/s_lrint.S12
-rw-r--r--lib/libm/arch/amd64/s_lrintf.S12
5 files changed, 50 insertions, 1 deletions
diff --git a/lib/libm/Makefile b/lib/libm/Makefile
index 1511041c11a..3cf6e436d80 100644
--- a/lib/libm/Makefile
+++ b/lib/libm/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.64 2009/04/05 19:26:27 martynas Exp $
+# $OpenBSD: Makefile,v 1.65 2009/04/10 11:30:33 martynas Exp $
# $NetBSD: Makefile,v 1.28 1995/11/20 22:06:19 jtc Exp $
#
# @(#)Makefile 5.1beta 93/09/24
@@ -42,6 +42,7 @@ ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \
s_atan.S s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S \
s_cos.S s_cosf.S s_floor.S s_floorf.S \
s_ilogb.S s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S \
+ s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S \
s_rint.S s_rintf.S s_scalbn.S s_scalbnf.S s_significand.S \
s_significandf.S s_sin.S s_sinf.S s_tan.S s_tanf.S
.elif (${MACHINE_ARCH} == "m68k")
diff --git a/lib/libm/arch/amd64/s_llrint.S b/lib/libm/arch/amd64/s_llrint.S
new file mode 100644
index 00000000000..aeb13478f1f
--- /dev/null
+++ b/lib/libm/arch/amd64/s_llrint.S
@@ -0,0 +1,12 @@
+/* $OpenBSD: s_llrint.S,v 1.1 2009/04/10 11:30:33 martynas Exp $ */
+
+/*
+ * Written by Martynas Venckus. Public domain
+ */
+
+#include <machine/asm.h>
+
+ENTRY(llrint)
+ cvtsd2si %xmm0, %rax
+ ret
+
diff --git a/lib/libm/arch/amd64/s_llrintf.S b/lib/libm/arch/amd64/s_llrintf.S
new file mode 100644
index 00000000000..6d06da485e3
--- /dev/null
+++ b/lib/libm/arch/amd64/s_llrintf.S
@@ -0,0 +1,12 @@
+/* $OpenBSD: s_llrintf.S,v 1.1 2009/04/10 11:30:33 martynas Exp $ */
+
+/*
+ * Written by Martynas Venckus. Public domain
+ */
+
+#include <machine/asm.h>
+
+ENTRY(llrintf)
+ cvtss2si %xmm0, %rax
+ ret
+
diff --git a/lib/libm/arch/amd64/s_lrint.S b/lib/libm/arch/amd64/s_lrint.S
new file mode 100644
index 00000000000..5cc27122fad
--- /dev/null
+++ b/lib/libm/arch/amd64/s_lrint.S
@@ -0,0 +1,12 @@
+/* $OpenBSD: s_lrint.S,v 1.1 2009/04/10 11:30:33 martynas Exp $ */
+
+/*
+ * Written by Martynas Venckus. Public domain
+ */
+
+#include <machine/asm.h>
+
+ENTRY(lrint)
+ cvtsd2si %xmm0, %rax
+ ret
+
diff --git a/lib/libm/arch/amd64/s_lrintf.S b/lib/libm/arch/amd64/s_lrintf.S
new file mode 100644
index 00000000000..912e6b62064
--- /dev/null
+++ b/lib/libm/arch/amd64/s_lrintf.S
@@ -0,0 +1,12 @@
+/* $OpenBSD: s_lrintf.S,v 1.1 2009/04/10 11:30:33 martynas Exp $ */
+
+/*
+ * Written by Martynas Venckus. Public domain
+ */
+
+#include <machine/asm.h>
+
+ENTRY(lrintf)
+ cvtss2si %xmm0, %rax
+ ret
+