These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / h8300 / lib / libgcc.h
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