74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# define OF_AMD64_ASM
# elif defined(__i386__)
# define OF_X86_ASM
# elif defined(__ppc__) || defined(__PPC__)
# define OF_PPC_ASM
# elif defined(__arm__) || defined(__ARM__)
# define OF_ARM_ASM
# endif
#endif
#define OF_ENSURE(cond) \
if (!(cond)) { \
fprintf(stderr, "Failed to ensure condition in " \
__FILE__ ":%d:\n" #cond "\n", __LINE__); \
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# define OF_AMD64_ASM
# elif defined(__i386__)
# define OF_X86_ASM
# elif defined(__ppc__) || defined(__PPC__)
# define OF_PPC_ASM
# elif defined(__arm__) || defined(__ARM__)
# define OF_ARM_ASM
# ifdef __ARM_ARCH_7__
# define OF_ARMV7_ASM
# endif
# ifdef __ARM_ARCH_7A__
# define OF_ARMV7_ASM
# endif
# ifdef __ARM_ARCH_7R__
# define OF_ARMV7_ASM
# endif
# ifdef __ARM_ARCH_7M__
# define OF_ARMV7_ASM
# endif
# ifdef __ARM_ARCH_7EM__
# define OF_ARMV7_ASM
# endif
# ifdef __ARM_ARCH_6__
# define OF_ARMV6_ASM
# endif
# ifdef __ARM_ARCH_6J__
# define OF_ARMV6_ASM
# endif
# ifdef __ARM_ARCH_6K__
# define OF_ARMV6_ASM
# endif
# ifdef __ARM_ARCH_6Z__
# define OF_ARMV6_ASM
# endif
# ifdef __ARM_ARCH_6ZK__
# define OF_ARMV6_ASM
# endif
# ifdef __ARM_ARCH_6T2__
# define OF_ARMV6_ASM
# endif
# ifdef OF_ARMV7_ASM
# define OF_ARMV6_ASM
# endif
# endif
#endif
#define OF_ENSURE(cond) \
if (!(cond)) { \
fprintf(stderr, "Failed to ensure condition in " \
__FILE__ ":%d:\n" #cond "\n", __LINE__); \
|
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
);
#elif defined(OF_PPC_ASM)
__asm__ (
"lhbrx %0, 0, %1"
: "=r"(i)
: "r"(&i), "m"(i)
);
#elif defined(OF_ARM_ASM) && defined(__ARM_ARCH_6__)
__asm__ (
"rev16 %0, %0"
: "=r"(i)
: "0"(i)
);
#else
i = (i & UINT16_C(0xFF00)) >> 8 |
|
|
|
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
|
);
#elif defined(OF_PPC_ASM)
__asm__ (
"lhbrx %0, 0, %1"
: "=r"(i)
: "r"(&i), "m"(i)
);
#elif defined(OF_ARMV6_ASM)
__asm__ (
"rev16 %0, %0"
: "=r"(i)
: "0"(i)
);
#else
i = (i & UINT16_C(0xFF00)) >> 8 |
|
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
);
#elif defined(OF_PPC_ASM)
__asm__ (
"lwbrx %0, 0, %1"
: "=r"(i)
: "r"(&i), "m"(i)
);
#elif defined(OF_ARM_ASM) && defined(__ARM_ARCH_6__)
__asm__ (
"rev %0, %0"
: "=r"(i)
: "0"(i)
);
#else
i = (i & UINT32_C(0xFF000000)) >> 24 |
|
|
|
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
);
#elif defined(OF_PPC_ASM)
__asm__ (
"lwbrx %0, 0, %1"
: "=r"(i)
: "r"(&i), "m"(i)
);
#elif defined(OF_ARMV6_ASM)
__asm__ (
"rev %0, %0"
: "=r"(i)
: "0"(i)
);
#else
i = (i & UINT32_C(0xFF000000)) >> 24 |
|