1 #ifndef ZIG_DEP_SOFTFLOAT_PLATFORM_H
2 #define ZIG_DEP_SOFTFLOAT_PLATFORM_H
3 
4 #if defined(__BIG_ENDIAN__)
5 #define BIGENDIAN 1
6 #elif defined(__ARMEB__)
7 #define BIGENDIAN 1
8 #elif defined(__THUMBEB__)
9 #define BIGENDIAN 1
10 #elif defined(__AARCH64EB__)
11 #define BIGENDIAN 1
12 #elif defined(_MIPSEB)
13 #define BIGENDIAN 1
14 #elif defined(__MIPSEB)
15 #define BIGENDIAN 1
16 #elif defined(__MIPSEB__)
17 #define BIGENDIAN 1
18 #elif defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
19 #define BIGENDIAN 1
20 #elif defined(_BIG_ENDIAN)
21 #define BIGENDIAN 1
22 #elif defined(__sparc)
23 #define BIGENDIAN 1
24 #elif defined(__sparc__)
25 #define BIGENDIAN 1
26 #elif defined(_POWER)
27 #define BIGENDIAN 1
28 #elif defined(__powerpc__)
29 #define BIGENDIAN 1
30 #elif defined(__ppc__)
31 #define BIGENDIAN 1
32 #elif defined(__hpux)
33 #define BIGENDIAN 1
34 #elif defined(__hppa)
35 #define BIGENDIAN 1
36 #elif defined(_POWER)
37 #define BIGENDIAN 1
38 #elif defined(__s390__)
39 #define BIGENDIAN 1
40 #elif defined(__LITTLE_ENDIAN__)
41 #define LITTLEENDIAN 1
42 #elif defined(__ARMEL__)
43 #define LITTLEENDIAN 1
44 #elif defined(__THUMBEL__)
45 #define LITTLEENDIAN 1
46 #elif defined(__AARCH64EL__)
47 #define LITTLEENDIAN 1
48 #elif defined(_MIPSEL)
49 #define LITTLEENDIAN 1
50 #elif defined(__MIPSEL)
51 #define LITTLEENDIAN 1
52 #elif defined(__MIPSEL__)
53 #define LITTLEENDIAN 1
54 #elif defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
55 #define LITTLEENDIAN 1
56 #elif defined(_LITTLE_ENDIAN)
57 #define LITTLEENDIAN 1
58 #elif defined(__i386__)
59 #define LITTLEENDIAN 1
60 #elif defined(__alpha__)
61 #define LITTLEENDIAN 1
62 #elif defined(__ia64)
63 #define LITTLEENDIAN 1
64 #elif defined(__ia64__)
65 #define LITTLEENDIAN 1
66 #elif defined(_M_IX86)
67 #define LITTLEENDIAN 1
68 #elif defined(_M_IA64)
69 #define LITTLEENDIAN 1
70 #elif defined(_M_ALPHA)
71 #define LITTLEENDIAN 1
72 #elif defined(__amd64)
73 #define LITTLEENDIAN 1
74 #elif defined(__amd64__)
75 #define LITTLEENDIAN 1
76 #elif defined(_M_AMD64)
77 #define LITTLEENDIAN 1
78 #elif defined(__x86_64)
79 #define LITTLEENDIAN 1
80 #elif defined(__x86_64__)
81 #define LITTLEENDIAN 1
82 #elif defined(_M_X64)
83 #define LITTLEENDIAN 1
84 #elif defined(__bfin__)
85 #define LITTLEENDIAN 1
86 #else
87 #error unable to detect endianness
88 #endif
89 
90 #define INLINE inline
91 #if _MSC_VER
92 #define THREAD_LOCAL __declspec(thread)
93 #else
94 #define THREAD_LOCAL __thread
95 #endif
96 
97 #endif
98