summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/longlong.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/longlong.h')
-rw-r--r--contrib/gcc/longlong.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/contrib/gcc/longlong.h b/contrib/gcc/longlong.h
index f218a02..c8b9aee 100644
--- a/contrib/gcc/longlong.h
+++ b/contrib/gcc/longlong.h
@@ -1002,6 +1002,21 @@ UDItype __umulsidi3 (USItype, USItype);
#define UMUL_TIME 5
#endif
+#if defined (__SH5__) && __SHMEDIA__ && W_TYPE_SIZE == 32
+#define __umulsidi3(u,v) ((UDItype)(USItype)u*(USItype)v)
+#define count_leading_zeros(count, x) \
+ do \
+ { \
+ UDItype x_ = (USItype)(x); \
+ SItype c_; \
+ \
+ __asm__ ("nsb %1, %0" : "=r" (c_) : "r" (x_)); \
+ (count) = c_ - 31; \
+ } \
+ while (0)
+#define COUNT_LEADING_ZEROS_0 32
+#endif
+
#if defined (__sparc__) && !defined (__arch64__) && !defined (__sparcv9) \
&& W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
OpenPOWER on IntegriCloud