filename | test/include/machine/ieeefp.h |
changeset | 185:6755a04c447f |
author | nkeynes |
date | Tue Jan 06 01:58:08 2009 +0000 (15 years ago) |
branch | lxdream-mem |
permissions | -rw-r--r-- |
last change | Fully integrate SQ with the new address space code - added additional 'prefetch' memory accessor. TLB is utterly untested, but non-TLB at least still works. |
view | annotate | diff | log | raw |
1 #ifndef __IEEE_BIG_ENDIAN
2 #ifndef __IEEE_LITTLE_ENDIAN
4 #if defined(__arm__) || defined(__thumb__)
5 /* ARM always has big-endian words. Within those words the byte ordering
6 appears to be big or little endian. Newlib doesn't seem to care about
7 the byte ordering within words. */
8 #define __IEEE_BIG_ENDIAN
9 #endif
11 #ifdef __hppa__
12 #define __IEEE_BIG_ENDIAN
13 #endif
15 #ifdef __sparc__
16 #ifdef __LITTLE_ENDIAN_DATA__
17 #define __IEEE_LITTLE_ENDIAN
18 #else
19 #define __IEEE_BIG_ENDIAN
20 #endif
21 #endif
23 #if defined(__m68k__) || defined(__mc68000__)
24 #define __IEEE_BIG_ENDIAN
25 #endif
27 #if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__)
28 #define __IEEE_BIG_ENDIAN
29 #define __SMALL_BITFIELDS
30 #define _DOUBLE_IS_32BITS
31 #endif
33 #ifdef __H8500__
34 #define __IEEE_BIG_ENDIAN
35 #define __SMALL_BITFIELDS
36 #define _DOUBLE_IS_32BITS
37 #endif
39 #ifdef __sh__
40 #ifdef __LITTLE_ENDIAN__
41 #define __IEEE_LITTLE_ENDIAN
42 #else
43 #define __IEEE_BIG_ENDIAN
44 #endif
45 #if defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__)
46 #define _DOUBLE_IS_32BITS
47 #endif
48 #endif
50 #ifdef _AM29K
51 #define __IEEE_BIG_ENDIAN
52 #endif
54 #ifdef _WIN32
55 #define __IEEE_LITTLE_ENDIAN
56 #endif
58 #ifdef __i386__
59 #define __IEEE_LITTLE_ENDIAN
60 #endif
62 #ifdef __i960__
63 #define __IEEE_LITTLE_ENDIAN
64 #endif
66 #ifdef __M32R__
67 #define __IEEE_BIG_ENDIAN
68 #endif
70 #ifdef __TIC80__
71 #define __IEEE_LITTLE_ENDIAN
72 #endif
74 #ifdef __MIPSEL__
75 #define __IEEE_LITTLE_ENDIAN
76 #endif
77 #ifdef __MIPSEB__
78 #define __IEEE_BIG_ENDIAN
79 #endif
81 /* necv70 was __IEEE_LITTLE_ENDIAN. */
83 #ifdef __W65__
84 #define __IEEE_LITTLE_ENDIAN
85 #define __SMALL_BITFIELDS
86 #define _DOUBLE_IS_32BITS
87 #endif
89 #if defined(__Z8001__) || defined(__Z8002__)
90 #define __IEEE_BIG_ENDIAN
91 #endif
93 #ifdef __m88k__
94 #define __IEEE_BIG_ENDIAN
95 #endif
97 #ifdef __mn10300__
98 #define __IEEE_LITTLE_ENDIAN
99 #endif
101 #ifdef __mn10200__
102 #define __IEEE_LITTLE_ENDIAN
103 #define __SMALL_BITFIELDS
104 #define _DOUBLE_IS_32BITS
105 #endif
107 #ifdef __v800
108 #define __IEEE_LITTLE_ENDIAN
109 #endif
111 #ifdef __v850
112 #define __IEEE_LITTLE_ENDIAN
113 #endif
115 #ifdef __D10V__
116 #define __IEEE_BIG_ENDIAN
117 #define _DOUBLE_IS_32BITS
118 #define __SMALL_BITFIELDS
119 #endif
121 #ifdef __PPC__
122 #if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX)
123 #define __IEEE_BIG_ENDIAN
124 #else
125 #if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(_WIN32) && _WIN32)
126 #define __IEEE_LITTLE_ENDIAN
127 #endif
128 #endif
129 #endif
131 #ifdef __arc__
132 #ifdef __big_endian__
133 #define __IEEE_BIG_ENDIAN
134 #else
135 #define __IEEE_LITTLE_ENDIAN
136 #endif
137 #endif
139 #ifdef __fr30__
140 #define __IEEE_BIG_ENDIAN
141 #endif
143 #ifdef __mcore__
144 #define __IEEE_BIG_ENDIAN
145 #endif
149 #ifndef __IEEE_BIG_ENDIAN
150 #ifndef __IEEE_LITTLE_ENDIAN
151 #error Endianess not declared!!
152 #endif /* not __IEEE_LITTLE_ENDIAN */
153 #endif /* not __IEEE_BIG_ENDIAN */
155 #endif /* not __IEEE_LITTLE_ENDIAN */
156 #endif /* not __IEEE_BIG_ENDIAN */
.