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