Merge branch 'master' into for_paulus
[linux-drm-fsl-dcu.git] / arch / avr32 / lib / libgcc.h
1 /* Definitions for various functions 'borrowed' from gcc-3.4.3 */
2
3 #define BITS_PER_UNIT   8
4
5 typedef          int QItype     __attribute__ ((mode (QI)));
6 typedef unsigned int UQItype    __attribute__ ((mode (QI)));
7 typedef          int HItype     __attribute__ ((mode (HI)));
8 typedef unsigned int UHItype    __attribute__ ((mode (HI)));
9 typedef          int SItype     __attribute__ ((mode (SI)));
10 typedef unsigned int USItype    __attribute__ ((mode (SI)));
11 typedef          int DItype     __attribute__ ((mode (DI)));
12 typedef unsigned int UDItype    __attribute__ ((mode (DI)));
13 typedef         float SFtype    __attribute__ ((mode (SF)));
14 typedef         float DFtype    __attribute__ ((mode (DF)));
15 typedef int word_type __attribute__ ((mode (__word__)));
16
17 #define W_TYPE_SIZE (4 * BITS_PER_UNIT)
18 #define Wtype   SItype
19 #define UWtype  USItype
20 #define HWtype  SItype
21 #define UHWtype USItype
22 #define DWtype  DItype
23 #define UDWtype UDItype
24 #define __NW(a,b)       __ ## a ## si ## b
25 #define __NDW(a,b)      __ ## a ## di ## b
26
27 struct DWstruct {Wtype high, low;};
28
29 typedef union
30 {
31   struct DWstruct s;
32   DWtype ll;
33 } DWunion;