xref: /openbmc/linux/arch/mips/lib/libgcc.h (revision 72fbfb26)
172fbfb26SRalf Baechle #ifndef __ASM_LIBGCC_H
272fbfb26SRalf Baechle #define __ASM_LIBGCC_H
372fbfb26SRalf Baechle 
472fbfb26SRalf Baechle #include <asm/byteorder.h>
572fbfb26SRalf Baechle 
672fbfb26SRalf Baechle typedef int word_type __attribute__ ((mode (__word__)));
772fbfb26SRalf Baechle 
872fbfb26SRalf Baechle #ifdef __BIG_ENDIAN
972fbfb26SRalf Baechle struct DWstruct {
1072fbfb26SRalf Baechle 	int high, low;
1172fbfb26SRalf Baechle };
1272fbfb26SRalf Baechle #elif defined(__LITTLE_ENDIAN)
1372fbfb26SRalf Baechle struct DWstruct {
1472fbfb26SRalf Baechle 	int low, high;
1572fbfb26SRalf Baechle };
1672fbfb26SRalf Baechle #else
1772fbfb26SRalf Baechle #error I feel sick.
1872fbfb26SRalf Baechle #endif
1972fbfb26SRalf Baechle 
2072fbfb26SRalf Baechle typedef union
2172fbfb26SRalf Baechle {
2272fbfb26SRalf Baechle 	struct DWstruct s;
2372fbfb26SRalf Baechle 	long long ll;
2472fbfb26SRalf Baechle } DWunion;
2572fbfb26SRalf Baechle 
2672fbfb26SRalf Baechle #endif /* __ASM_LIBGCC_H */
27