386BSD 0.1 development
authorWilliam F. Jolitz <wjolitz@soda.berkeley.edu>
Tue, 22 Jan 1991 07:01:21 +0000 (23:01 -0800)
committerWilliam F. Jolitz <wjolitz@soda.berkeley.edu>
Tue, 22 Jan 1991 07:01:21 +0000 (23:01 -0800)
Work on file usr/src/usr.bin/gcc/gnulib/longlong/udivdi3.c

Co-Authored-By: Lynne Greer Jolitz <ljolitz@cardio.ucsf.edu>
Synthesized-from: 386BSD-0.1

usr/src/usr.bin/gcc/gnulib/longlong/udivdi3.c [new file with mode: 0644]

diff --git a/usr/src/usr.bin/gcc/gnulib/longlong/udivdi3.c b/usr/src/usr.bin/gcc/gnulib/longlong/udivdi3.c
new file mode 100644 (file)
index 0000000..febebc6
--- /dev/null
@@ -0,0 +1,28 @@
+#include "longlong.h"
+
+extern void __bdiv ();
+
+long long 
+__udivdi3 (u, v)
+     long long u, v;
+{
+  unsigned long a[2][2], b[2], q[2], r[2];
+  long_long w;
+  long_long uu, vv;
+
+  uu.ll = u;
+  vv.ll = v;
+
+  a[HIGH][HIGH] = 0;
+  a[HIGH][LOW] = 0;
+  a[LOW][HIGH] = uu.s.high;
+  a[LOW][LOW] = uu.s.low;
+  b[HIGH] = vv.s.high;
+  b[LOW] = vv.s.low;
+
+  __bdiv (a, b, q, r, sizeof a, sizeof b);
+
+  w.s.high = q[HIGH];
+  w.s.low = q[LOW];
+  return w.ll;
+}