summaryrefslogtreecommitdiff
path: root/gcc/longlong.h
diff options
context:
space:
mode:
authortege <tege@138bc75d-0d04-0410-961f-82ee72b054a4>1992-07-07 18:48:05 +0000
committertege <tege@138bc75d-0d04-0410-961f-82ee72b054a4>1992-07-07 18:48:05 +0000
commit4caea21fe3e9f9a1543527e8095065e9a242d508 (patch)
treed4dce06f597d2f0a37e2df5660b34dd8ffa1c2b9 /gcc/longlong.h
parent0f9fb9ccc3d52e87ef0d07c5b6d26f42b9027eac (diff)
downloadgcc-4caea21fe3e9f9a1543527e8095065e9a242d508.tar.gz
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1502 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/longlong.h')
-rw-r--r--gcc/longlong.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/longlong.h b/gcc/longlong.h
index ccc5c2476d4..fbee4079711 100644
--- a/gcc/longlong.h
+++ b/gcc/longlong.h
@@ -890,6 +890,18 @@
(q) = (USItype) __q1 * __ll_B | __q0; \
(r) = __r0; \
} while (0)
+
+/* If the processor has no udiv_qrnnd but sdiv_qrnnd, go through
+ __udiv_using_sdiv (defined in libgcc or elsewhere). */
+#if !defined (udiv_qrnnd) && defined (sdiv_qrnnd)
+#define udiv_qrnnd(q, r, nh, nl, d) \
+ do { \
+ USItype __r; \
+ (q) = __udiv_using_sdiv (&__r, nh, nl, d); \
+ (r) = __r; \
+ } while (0)
+#endif
+
/* If udiv_qrnnd was not defined for this processor, use __udiv_qrnnd_c. */
#if !defined (udiv_qrnnd)
#define UDIV_NEEDS_NORMALIZATION 1