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 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 32 #endif /* __ASM_LIBGCC_H */ 33