From eef2b291e95f6fff0c2fe01f2b5f86ffe66c93e8 Mon Sep 17 00:00:00 2001 From: Jung-uk Kim Date: Wed, 4 Apr 2007 01:19:54 +0000 Subject: Import amd64 assembly implementations of div(3) family from NetBSD. Obtained from: NetBSD --- lib/libc/amd64/stdlib/Makefile.inc | 4 ++++ lib/libc/amd64/stdlib/div.S | 17 +++++++++++++++++ lib/libc/amd64/stdlib/ldiv.S | 15 +++++++++++++++ lib/libc/amd64/stdlib/lldiv.S | 15 +++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 lib/libc/amd64/stdlib/Makefile.inc create mode 100644 lib/libc/amd64/stdlib/div.S create mode 100644 lib/libc/amd64/stdlib/ldiv.S create mode 100644 lib/libc/amd64/stdlib/lldiv.S diff --git a/lib/libc/amd64/stdlib/Makefile.inc b/lib/libc/amd64/stdlib/Makefile.inc new file mode 100644 index 0000000000000..5b7e675ede0d5 --- /dev/null +++ b/lib/libc/amd64/stdlib/Makefile.inc @@ -0,0 +1,4 @@ +# @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 +# $FreeBSD$ + +MDSRCS+=div.S ldiv.S lldiv.S diff --git a/lib/libc/amd64/stdlib/div.S b/lib/libc/amd64/stdlib/div.S new file mode 100644 index 0000000000000..f8595f91b295e --- /dev/null +++ b/lib/libc/amd64/stdlib/div.S @@ -0,0 +1,17 @@ +/* $NetBSD: div.S,v 1.1 2001/06/19 00:25:04 fvdl Exp $ */ + +/*- + * Written by Frank van der Linden (fvdl@wasabisystems.com) + * Public domain. + */ + +#include +__FBSDID("$FreeBSD$"); + +ENTRY(div) + movl %edi,%eax + cltd + idivl %esi + salq $32,%rdx + orq %rdx,%rax + ret diff --git a/lib/libc/amd64/stdlib/ldiv.S b/lib/libc/amd64/stdlib/ldiv.S new file mode 100644 index 0000000000000..de952f05ee609 --- /dev/null +++ b/lib/libc/amd64/stdlib/ldiv.S @@ -0,0 +1,15 @@ +/* $NetBSD: ldiv.S,v 1.1 2001/06/19 00:25:04 fvdl Exp $ */ + +/*- + * Written by gcc 3.0. + * Copy/pasted by Frank van der Linden (fvdl@wasabisystems.com) + */ + +#include +__FBSDID("$FreeBSD$"); + +ENTRY(ldiv) + movq %rdi,%rax + cqto + idivq %rsi + ret diff --git a/lib/libc/amd64/stdlib/lldiv.S b/lib/libc/amd64/stdlib/lldiv.S new file mode 100644 index 0000000000000..7353754a48b8f --- /dev/null +++ b/lib/libc/amd64/stdlib/lldiv.S @@ -0,0 +1,15 @@ +/* $NetBSD: ldiv.S,v 1.1 2001/06/19 00:25:04 fvdl Exp $ */ + +/*- + * Written by gcc 3.0. + * Copy/pasted by Frank van der Linden (fvdl@wasabisystems.com) + */ + +#include +__FBSDID("$FreeBSD$"); + +ENTRY(lldiv) + movq %rdi,%rax + cqto + idivq %rsi + ret -- cgit v1.2.3