Commit | Line | Data |
---|---|---|
4e07dba7 MS |
1 | #ifndef __ASM_LIBGCC_H |
2 | #define __ASM_LIBGCC_H | |
3 | ||
4 | #include <asm/byteorder.h> | |
5 | ||
6 | typedef int word_type __attribute__ ((mode (__word__))); | |
7 | ||
8 | #ifdef __BIG_ENDIAN | |
9 | struct DWstruct { | |
10 | int high, low; | |
11 | }; | |
12 | #elif defined(__LITTLE_ENDIAN) | |
13 | struct DWstruct { | |
14 | int low, high; | |
15 | }; | |
16 | #else | |
17 | #error I feel sick. | |
18 | #endif | |
19 | ||
20 | typedef union { | |
21 | struct DWstruct s; | |
22 | long long ll; | |
23 | } DWunion; | |
24 | ||
9f2a45bd MS |
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); | |
31 | ||
4e07dba7 | 32 | #endif /* __ASM_LIBGCC_H */ |