Linux 4.1.18
[linux/fpc-iii.git] / arch / microblaze / lib / libgcc.h
blobab077ef7e14b14c28656ed5ac3589353f1926a18
1 #ifndef __ASM_LIBGCC_H
2 #define __ASM_LIBGCC_H
4 #include <asm/byteorder.h>
6 typedef int word_type __attribute__ ((mode (__word__)));
8 #ifdef __BIG_ENDIAN
9 struct DWstruct {
10 int high, low;
12 #elif defined(__LITTLE_ENDIAN)
13 struct DWstruct {
14 int low, high;
16 #else
17 #error I feel sick.
18 #endif
20 typedef union {
21 struct DWstruct s;
22 long long ll;
23 } DWunion;
25 extern long long __ashldi3(long long u, word_type b);
26 extern long long __ashrdi3(long long u, word_type b);
27 extern word_type __cmpdi2(long long a, long long b);
28 extern long long __lshrdi3(long long u, word_type b);
29 extern long long __muldi3(long long u, long long v);
30 extern word_type __ucmpdi2(unsigned long long a, unsigned long long b);
32 #endif /* __ASM_LIBGCC_H */