1 #ifndef __H8300_LIBGCC_H__ 2 #define __H8300_LIBGCC_H__ 3 4 #ifdef __ASSEMBLY__ 5 #define A0 r0 6 #define A0L r0l 7 #define A0H r0h 8 9 #define A1 r1 10 #define A1L r1l 11 #define A1H r1h 12 13 #define A2 r2 14 #define A2L r2l 15 #define A2H r2h 16 17 #define A3 r3 18 #define A3L r3l 19 #define A3H r3h 20 21 #define S0 r4 22 #define S0L r4l 23 #define S0H r4h 24 25 #define S1 r5 26 #define S1L r5l 27 #define S1H r5h 28 29 #define S2 r6 30 #define S2L r6l 31 #define S2H r6h 32 33 #define PUSHP push.l 34 #define POPP pop.l 35 36 #define A0P er0 37 #define A1P er1 38 #define A2P er2 39 #define A3P er3 40 #define S0P er4 41 #define S1P er5 42 #define S2P er6 43 44 #define A0E e0 45 #define A1E e1 46 #define A2E e2 47 #define A3E e3 48 #else 49 #define Wtype SItype 50 #define UWtype USItype 51 #define HWtype SItype 52 #define UHWtype USItype 53 #define DWtype DItype 54 #define UDWtype UDItype 55 #define UWtype USItype 56 #define Wtype SItype 57 #define UWtype USItype 58 #define W_TYPE_SIZE (4 * BITS_PER_UNIT) 59 #define BITS_PER_UNIT (8) 60 61 typedef int SItype __attribute__ ((mode (SI))); 62 typedef unsigned int USItype __attribute__ ((mode (SI))); 63 typedef int DItype __attribute__ ((mode (DI))); 64 typedef unsigned int UDItype __attribute__ ((mode (DI))); 65 struct DWstruct { 66 Wtype high, low; 67 }; 68 typedef union { 69 struct DWstruct s; 70 DWtype ll; 71 } DWunion; 72 73 typedef int word_type __attribute__ ((mode (__word__))); 74 75 #endif 76 77 #endif 78