OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [include/] [machine/] [ieeefp.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1005 ivang
#ifndef __IEEE_BIG_ENDIAN
2
#ifndef __IEEE_LITTLE_ENDIAN
3
 
4
/* This file can define macros to choose variations of the IEEE float
5
   format:
6
 
7
   _FLT_LARGEST_EXPONENT_IS_NORMAL
8
 
9
        Defined if the float format uses the largest exponent for finite
10
        numbers rather than NaN and infinity representations.  Such a
11
        format cannot represent NaNs or infinities at all, but it's FLT_MAX
12
        is twice the IEEE value.
13
 
14
   _FLT_NO_DENORMALS
15
 
16
        Defined if the float format does not support IEEE denormals.  Every
17
        float with a zero exponent is taken to be a zero representation.
18
 
19
   ??? At the moment, there are no equivalent macros for doubles and
20
   the macros are not fully supported by --enable-newlib-hw-fp.  */
21
 
22
#if defined(__arm__) || defined(__thumb__)
23
/* ARM always has big-endian words.  Within those words the byte ordering
24
   will be big or little endian depending upon the target.  */
25
#define __IEEE_BIG_ENDIAN
26
#ifdef __ARMEL__
27
#define __IEEE_BYTES_LITTLE_ENDIAN
28
#endif
29
#endif
30
 
31
#ifdef __hppa__
32
#define __IEEE_BIG_ENDIAN
33
#endif
34
 
35
#ifdef __sparc__
36
#ifdef __LITTLE_ENDIAN_DATA__
37
#define __IEEE_LITTLE_ENDIAN
38
#else
39
#define __IEEE_BIG_ENDIAN
40
#endif
41
#endif
42
 
43
#if defined(__m68k__) || defined(__mc68000__)
44
#define __IEEE_BIG_ENDIAN
45
#endif
46
 
47
#if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__)
48
#define __IEEE_BIG_ENDIAN
49
#define __SMALL_BITFIELDS
50
#define _DOUBLE_IS_32BITS
51
#endif
52
 
53
#ifdef __H8500__
54
#define __IEEE_BIG_ENDIAN
55
#define __SMALL_BITFIELDS
56
#define _DOUBLE_IS_32BITS
57
#endif
58
 
59
#ifdef __sh__
60
#ifdef __LITTLE_ENDIAN__
61
#define __IEEE_LITTLE_ENDIAN
62
#else
63
#define __IEEE_BIG_ENDIAN
64
#endif
65
#if defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__)
66
#define _DOUBLE_IS_32BITS
67
#endif
68
#endif
69
 
70
#ifdef _AM29K
71
#define __IEEE_BIG_ENDIAN
72
#endif
73
 
74
#ifdef _WIN32
75
#define __IEEE_LITTLE_ENDIAN
76
#endif
77
 
78
#ifdef __i386__
79
#define __IEEE_LITTLE_ENDIAN
80
#endif
81
 
82
#ifdef __i960__
83
#define __IEEE_LITTLE_ENDIAN
84
#endif
85
 
86
#ifdef __M32R__
87
#define __IEEE_BIG_ENDIAN
88
#endif
89
 
90
#ifdef __TIC80__
91
#define __IEEE_LITTLE_ENDIAN
92
#endif
93
 
94
#ifdef __MIPSEL__
95
#define __IEEE_LITTLE_ENDIAN
96
#endif
97
#ifdef __MIPSEB__
98
#define __IEEE_BIG_ENDIAN
99
#endif
100
 
101
#ifdef __MMIX__
102
#define __IEEE_BIG_ENDIAN
103
#endif
104
 
105
/* necv70 was __IEEE_LITTLE_ENDIAN. */
106
 
107
#ifdef __W65__
108
#define __IEEE_LITTLE_ENDIAN
109
#define __SMALL_BITFIELDS
110
#define _DOUBLE_IS_32BITS
111
#endif
112
 
113
#if defined(__Z8001__) || defined(__Z8002__)
114
#define __IEEE_BIG_ENDIAN
115
#endif
116
 
117
#ifdef __m88k__
118
#define __IEEE_BIG_ENDIAN
119
#endif
120
 
121
#ifdef __mn10300__
122
#define __IEEE_LITTLE_ENDIAN
123
#endif
124
 
125
#ifdef __mn10200__
126
#define __IEEE_LITTLE_ENDIAN
127
#define __SMALL_BITFIELDS
128
#define _DOUBLE_IS_32BITS
129
#endif
130
 
131
#ifdef __v800
132
#define __IEEE_LITTLE_ENDIAN
133
#endif
134
 
135
#ifdef __v850
136
#define __IEEE_LITTLE_ENDIAN
137
#endif
138
 
139
#ifdef __D10V__
140
#define __IEEE_BIG_ENDIAN
141
#define _DOUBLE_IS_32BITS
142
#define __SMALL_BITFIELDS
143
#endif
144
 
145
#ifdef __PPC__
146
#if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX)
147
#define __IEEE_BIG_ENDIAN
148
#else
149
#if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(_WIN32) && _WIN32)
150
#define __IEEE_LITTLE_ENDIAN
151
#endif
152
#endif
153
#endif
154
 
155
#ifdef __arc__
156
#ifdef __big_endian__
157
#define __IEEE_BIG_ENDIAN
158
#else
159
#define __IEEE_LITTLE_ENDIAN
160
#endif
161
#endif
162
 
163
#ifdef __fr30__
164
#define __IEEE_BIG_ENDIAN
165
#endif
166
 
167
#ifdef __mcore__
168
#define __IEEE_BIG_ENDIAN
169
#endif
170
 
171
#ifdef __ia64__
172
#ifdef __BIG_ENDIAN__
173
#define __IEEE_BIG_ENDIAN
174
#else
175
#define __IEEE_LITTLE_ENDIAN
176
#endif
177
#endif
178
 
179
#ifdef __AVR__
180
#define __IEEE_LITTLE_ENDIAN
181
#define __SMALL_BITFIELDS
182
#define _DOUBLE_IS_32BITS
183
#endif
184
 
185
#if defined(__or32__) || defined(__or1k__) || defined(__or16__)
186
#define __IEEE_BIG_ENDIAN
187
#endif
188
 
189
 
190
#ifndef __IEEE_BIG_ENDIAN
191
#ifndef __IEEE_LITTLE_ENDIAN
192
#error Endianess not declared!!
193
#endif /* not __IEEE_LITTLE_ENDIAN */
194
#endif /* not __IEEE_BIG_ENDIAN */
195
 
196
#endif /* not __IEEE_LITTLE_ENDIAN */
197
#endif /* not __IEEE_BIG_ENDIAN */
198
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.