• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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