/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __H8300_LIBGCC_H__ #define __H8300_LIBGCC_H__ #ifdef __ASSEMBLY__ #define A0 r0 #define A0L r0l #define A0H r0h #define A1 r1 #define A1L r1l #define A1H r1h #define A2 r2 #define A2L r2l #define A2H r2h #define A3 r3 #define A3L r3l #define A3H r3h #define S0 r4 #define S0L r4l #define S0H r4h #define S1 r5 #define S1L r5l #define S1H r5h #define S2 r6 #define S2L r6l #define S2H r6h #define PUSHP push.l #define POPP pop.l #define A0P er0 #define A1P er1 #define A2P er2 #define A3P er3 #define S0P er4 #define S1P er5 #define S2P er6 #define A0E e0 #define A1E e1 #define A2E e2 #define A3E e3 #else #define Wtype SItype #define UWtype USItype #define HWtype SItype #define UHWtype USItype #define DWtype DItype #define UDWtype UDItype #define UWtype USItype #define Wtype SItype #define UWtype USItype #define W_TYPE_SIZE (4 * BITS_PER_UNIT) #define BITS_PER_UNIT (8) typedef int SItype __attribute__ ((mode (SI))); typedef unsigned int USItype __attribute__ ((mode (SI))); typedef int DItype __attribute__ ((mode (DI))); typedef unsigned int UDItype __attribute__ ((mode (DI))); struct DWstruct { Wtype high, low; }; typedef union { struct DWstruct s; DWtype ll; } DWunion; typedef int word_type __attribute__ ((mode (__word__))); #endif #endif