3 #if defined(__i386__) || defined(__x86_64__)
14 #if defined(__i386__) || defined(__x86_64__)
25 #if defined(__i386__) || defined(__x86_64__)
41 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40301
44 "WWcumul",
"RRcumul",
"RWcumul",
"WRcumul");
56 _Bool result = *(
char *)ptr == 1;
78 #if __STDC_VERSION__ >= 201112L
80 # if !defined(__GNUC__) || (__GNUC__ * 100 + __GNUC_MINOR__) >= 409
81 # include <stdatomic.h>
85 #ifndef __ATOMIC_RELAXED
86 # define __ATOMIC_RELAXED 0
89 #ifndef __ATOMIC_CONSUME
90 # define __ATOMIC_CONSUME 1
93 #ifndef __ATOMIC_ACQUIRE
94 # define __ATOMIC_ACQUIRE 2
97 #ifndef __ATOMIC_RELEASE
98 # define __ATOMIC_RELEASE 3
101 #ifndef __ATOMIC_ACQ_REL
102 # define __ATOMIC_ACQ_REL 4
105 #ifndef __ATOMIC_SEQ_CST
106 # define __ATOMIC_SEQ_CST 5
144 return size <=
sizeof(__CPROVER_size_t);
153 return size <=
sizeof(__CPROVER_size_t);
162 return *((
short *)&vec + offset);
167 typedef short __gcc_v8hi
__attribute__((__vector_size__(16)));
171 return *((
short *)&vec + offset);
180 return *((
int *)&vec + offset);
185 typedef long long __gcc_v2di
__attribute__((__vector_size__(16)));
189 return *((
long long *)&vec + offset);
194 typedef char __gcc_v16qi
__attribute__((__vector_size__(16)));
198 return *((
char *)&vec + offset);
203 typedef float __gcc_v4sf
__attribute__((__vector_size__(16)));
207 return *((
float *)&vec + offset);
212 #ifndef LIBRARY_CHECK
213 typedef short __gcc_v8hi
__attribute__((__vector_size__(16)));
215 __gcc_v8hi __CPROVER_saturating_minus(__gcc_v8hi, __gcc_v8hi);
220 return __CPROVER_saturating_minus(a, b);
225 #ifndef LIBRARY_CHECK
226 typedef short __gcc_v8hi
__attribute__((__vector_size__(16)));
228 typedef unsigned short v8hi_u
__attribute__((__vector_size__(16)));
229 __gcc_v8hi __CPROVER_saturating_minus_v8hi_u(v8hi_u, v8hi_u);
230 # define __CPROVER_saturating_minus __CPROVER_saturating_minus_v8hi_u
235 typedef unsigned short v8hi_u
__attribute__((__vector_size__(16)));
236 return (__gcc_v8hi)__CPROVER_saturating_minus((v8hi_u)a, (v8hi_u)b);
241 #ifndef LIBRARY_CHECK
242 typedef short __gcc_v4hi
__attribute__((__vector_size__(8)));
244 __gcc_v4hi __CPROVER_saturating_plus(__gcc_v4hi, __gcc_v4hi);
249 return __CPROVER_saturating_plus(a, b);
254 #ifndef LIBRARY_CHECK
255 typedef short __gcc_v4hi
__attribute__((__vector_size__(8)));
257 __gcc_v4hi __CPROVER_saturating_minus_v4hi(__gcc_v4hi, __gcc_v4hi);
258 # undef __CPROVER_saturating_minus
259 # define __CPROVER_saturating_minus __CPROVER_saturating_minus_v4hi
264 return __CPROVER_saturating_minus(a, b);
268 # undef __CPROVER_saturating_minus
273 #ifndef LIBRARY_CHECK
274 typedef short __gcc_v4hi
__attribute__((__vector_size__(8)));
279 return (__gcc_v4hi){e0, e1, e2, e3};
long long __builtin_ia32_vec_ext_v2di(__gcc_v2di vec, int offset)
void __sync_synchronize(void)
short __builtin_ia32_vec_ext_v8hi(__gcc_v8hi vec, int offset)
__gcc_v8hi __builtin_ia32_psubusw128(__gcc_v8hi a, __gcc_v8hi b)
__gcc_v4hi __builtin_ia32_psubsw(__gcc_v4hi a, __gcc_v4hi b)
_Bool __atomic_always_lock_free(__CPROVER_size_t size, void *ptr)
short __builtin_ia32_vec_ext_v4hi(__gcc_v4hi vec, int offset)
short __gcc_v4hi __attribute__((__vector_size__(8)))
__gcc_v4hi __builtin_ia32_vec_init_v4hi(short e0, short e1, short e2, short e3)
_Bool __atomic_is_lock_free(__CPROVER_size_t size, void *ptr)
void __atomic_clear(_Bool *ptr, int memorder)
float __builtin_ia32_vec_ext_v4sf(__gcc_v4sf vec, int offset)
int __builtin_ia32_vec_ext_v16qi(__gcc_v16qi vec, int offset)
int __builtin_ia32_vec_ext_v4si(__gcc_v4si vec, int offset)
__gcc_v8hi __builtin_ia32_psubsw128(__gcc_v8hi a, __gcc_v8hi b)
void __atomic_thread_fence(int memorder)
void __atomic_signal_fence(int memorder)
_Bool __atomic_test_and_set(void *ptr, int memorder)
__gcc_v4hi __builtin_ia32_paddsw(__gcc_v4hi a, __gcc_v4hi b)