summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc/sparc/crt/mul64.c
diff options
context:
space:
mode:
authorjwadams <none@none>2005-09-15 17:17:44 -0700
committerjwadams <none@none>2005-09-15 17:17:44 -0700
commit4eb5116a772d340fe75c795059e1566c07b9994c (patch)
tree5975f4570cb6c8d589b5243b93f35364bb248eff /usr/src/lib/libc/sparc/crt/mul64.c
parent562eee46592ccd6ead143e8a4ad19d9a5d8f9c3a (diff)
downloadillumos-gate-4eb5116a772d340fe75c795059e1566c07b9994c.tar.gz
6324631 sparc hwmuldiv support should be in libc
--HG-- rename : usr/src/lib/libc/sparc/crt/divrem64.c => deleted_files/usr/src/lib/libc/sparc/crt/divrem64.c rename : usr/src/lib/libc/sparc/crt/mul64.c => deleted_files/usr/src/lib/libc/sparc/crt/mul64.c rename : usr/src/lib/libc/sparc/crt/muldiv64.il => deleted_files/usr/src/lib/libc/sparc/crt/muldiv64.il rename : usr/src/lib/libc_psr/sun4u/common/hwmuldiv.s => deleted_files/usr/src/lib/libc_psr/sun4u/common/hwmuldiv.s
Diffstat (limited to 'usr/src/lib/libc/sparc/crt/mul64.c')
-rw-r--r--usr/src/lib/libc/sparc/crt/mul64.c89
1 files changed, 0 insertions, 89 deletions
diff --git a/usr/src/lib/libc/sparc/crt/mul64.c b/usr/src/lib/libc/sparc/crt/mul64.c
deleted file mode 100644
index 16b10f1fec..0000000000
--- a/usr/src/lib/libc/sparc/crt/mul64.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 1991-1997, by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include "synonyms.h"
-
-/*
- * These routines are to support the compiler run-time only, and
- * should NOT be called directly from C!
- */
-
-extern unsigned long long __umul32x32to64(unsigned, unsigned);
-
-long long
-__mul64(long long i, long long j)
-{
- unsigned i0, i1, j0, j1;
- int sign = 0;
- long long result = 0;
-
- if (i < 0) {
- i = -i;
- sign = 1;
- }
- if (j < 0) {
- j = -j;
- sign ^= 1;
- }
-
- i1 = (unsigned)i;
- j0 = j >> 32;
- j1 = (unsigned)j;
-
- if (j1) {
- if (i1)
- result = __umul32x32to64(i1, j1);
- if ((i0 = i >> 32) != 0)
- result += ((unsigned long long)(i0 * j1)) << 32;
- }
- if (j0 && i1)
- result += ((unsigned long long)(i1 * j0)) << 32;
- return (sign ? -result : result);
-}
-
-
-unsigned long long
-__umul64(unsigned long long i, unsigned long long j)
-{
- unsigned i0, i1, j0, j1;
- unsigned long long result = 0;
-
- i1 = i;
- j0 = j >> 32;
- j1 = j;
-
- if (j1) {
- if (i1)
- result = __umul32x32to64(i1, j1);
- if ((i0 = i >> 32) != 0)
- result += ((unsigned long long)(i0 * j1)) << 32;
- }
- if (j0 && i1)
- result += ((unsigned long long)(i1 * j0)) << 32;
- return (result);
-}