Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/h8500/mulsi3.c')
-rw-r--r--newlib/libc/machine/h8500/mulsi3.c72
1 files changed, 0 insertions, 72 deletions
diff --git a/newlib/libc/machine/h8500/mulsi3.c b/newlib/libc/machine/h8500/mulsi3.c
deleted file mode 100644
index a923e8db5..000000000
--- a/newlib/libc/machine/h8500/mulsi3.c
+++ /dev/null
@@ -1,72 +0,0 @@
-
-typedef union {
- struct {
- unsigned int msw;
- unsigned int lsw;
-} s;
- long v;
-} u;
-
-long __mulsi3(u a, u b)
-{
- int s;
- long pp1;
- long pp2;
- long r;
-
- if (a.s.msw == 0 &&
- b.s.msw == 0)
- {
- return (long)a.s.lsw * b.s.lsw;
- }
-
- s = 0;
- if (a.v < 0)
- {
- s = 1;
- a.v = - a.v;
- }
- if (b.v < 0)
- {
- s = 1-s;
- b.v = - b.v;
- }
-
- pp1 = (long)a.s.lsw * b.s.lsw ;
- pp2 = (long)a.s.lsw * b.s.msw + (long)a.s.msw * b.s.lsw;
-
- pp1 += pp2 << 16;
-
- if (s)
- {
- pp1 = -pp1;
- }
- return pp1;
-}
-long __mulpsi3(long a, long b)
-{
- return a*b;
-}
-
-
-short
-__mulhi3(short a, short b)
-{
- int r;
-
- r = 0;
- while (a)
- {
- if (a & 1)
- {
- r += b;
-
- }
- b<<=1;
- a>>=1;
-
- }
- return r;
-}
-
-