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 13 struct TWstruct { 14 long long high, low; 15 }; 16 #elif defined(__LITTLE_ENDIAN) 17 struct DWstruct { 18 int low, high; 19 }; 20 21 struct TWstruct { 22 long long low, high; 23 }; 24 #else 25 #error I feel sick. 26 #endif 27 28 typedef union { 29 struct DWstruct s; 30 long long ll; 31 } DWunion; 32 33 #if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6) 34 typedef int ti_type __attribute__((mode(TI))); 35 36 typedef union { 37 struct TWstruct s; 38 ti_type ti; 39 } TWunion; 40 #endif 41 42 #endif /* __ASM_LIBGCC_H */ 43