clang 23.0.0git
wasm_simd128.h
Go to the documentation of this file.
1/*===---- wasm_simd128.h - WebAssembly portable SIMD intrinsics ------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __WASM_SIMD128_H
11#define __WASM_SIMD128_H
12
13#include <stdbool.h>
14#include <stdint.h>
15
16// User-facing type
17typedef int32_t v128_t __attribute__((__vector_size__(16), __aligned__(16)));
18
19// Internal types determined by clang builtin definitions
20typedef int32_t __v128_u __attribute__((__vector_size__(16), __aligned__(1)));
21typedef signed char __i8x16
22 __attribute__((__vector_size__(16), __aligned__(16)));
23typedef unsigned char __u8x16
24 __attribute__((__vector_size__(16), __aligned__(16)));
25typedef short __i16x8 __attribute__((__vector_size__(16), __aligned__(16)));
26typedef unsigned short __u16x8
27 __attribute__((__vector_size__(16), __aligned__(16)));
28typedef int __i32x4 __attribute__((__vector_size__(16), __aligned__(16)));
29typedef unsigned int __u32x4
30 __attribute__((__vector_size__(16), __aligned__(16)));
31typedef long long __i64x2 __attribute__((__vector_size__(16), __aligned__(16)));
32typedef unsigned long long __u64x2
33 __attribute__((__vector_size__(16), __aligned__(16)));
34typedef float __f32x4 __attribute__((__vector_size__(16), __aligned__(16)));
35typedef double __f64x2 __attribute__((__vector_size__(16), __aligned__(16)));
36typedef __fp16 __f16x8 __attribute__((__vector_size__(16), __aligned__(16)));
37
38typedef signed char __i8x8 __attribute__((__vector_size__(8), __aligned__(8)));
39typedef unsigned char __u8x8
40 __attribute__((__vector_size__(8), __aligned__(8)));
41typedef short __i16x4 __attribute__((__vector_size__(8), __aligned__(8)));
42typedef unsigned short __u16x4
43 __attribute__((__vector_size__(8), __aligned__(8)));
44typedef int __i32x2 __attribute__((__vector_size__(8), __aligned__(8)));
45typedef unsigned int __u32x2
46 __attribute__((__vector_size__(8), __aligned__(8)));
47typedef float __f32x2 __attribute__((__vector_size__(8), __aligned__(8)));
48typedef __fp16 __f16x4 __attribute__((__vector_size__(8), __aligned__(8)));
49
50#define __DEFAULT_FN_ATTRS \
51 __attribute__((__always_inline__, __nodebug__, __target__("simd128"), \
52 __min_vector_width__(128)))
53
54#define __REQUIRE_CONSTANT(c) \
55 __attribute__((__diagnose_if__(!__builtin_constant_p(c), \
56 #c " must be constant", "error")))
57
58static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load(const void *__mem) {
59 // UB-free unaligned access copied from xmmintrin.h
60 struct __wasm_v128_load_struct {
61 __v128_u __v;
62 } __attribute__((__packed__, __may_alias__));
63 return ((const struct __wasm_v128_load_struct *)__mem)->__v;
64}
65
66static __inline__ v128_t __DEFAULT_FN_ATTRS
67wasm_v128_load8_splat(const void *__mem) {
68 struct __wasm_v128_load8_splat_struct {
69 uint8_t __v;
70 } __attribute__((__packed__, __may_alias__));
71 uint8_t __v = ((const struct __wasm_v128_load8_splat_struct *)__mem)->__v;
72 return (v128_t)(__u8x16){__v, __v, __v, __v, __v, __v, __v, __v,
73 __v, __v, __v, __v, __v, __v, __v, __v};
74}
75
76static __inline__ v128_t __DEFAULT_FN_ATTRS
77wasm_v128_load16_splat(const void *__mem) {
78 struct __wasm_v128_load16_splat_struct {
79 uint16_t __v;
80 } __attribute__((__packed__, __may_alias__));
81 uint16_t __v = ((const struct __wasm_v128_load16_splat_struct *)__mem)->__v;
82 return (v128_t)(__u16x8){__v, __v, __v, __v, __v, __v, __v, __v};
83}
84
85static __inline__ v128_t __DEFAULT_FN_ATTRS
86wasm_v128_load32_splat(const void *__mem) {
87 struct __wasm_v128_load32_splat_struct {
88 uint32_t __v;
89 } __attribute__((__packed__, __may_alias__));
90 uint32_t __v = ((const struct __wasm_v128_load32_splat_struct *)__mem)->__v;
91 return (v128_t)(__u32x4){__v, __v, __v, __v};
92}
93
94static __inline__ v128_t __DEFAULT_FN_ATTRS
95wasm_v128_load64_splat(const void *__mem) {
96 struct __wasm_v128_load64_splat_struct {
97 uint64_t __v;
98 } __attribute__((__packed__, __may_alias__));
99 uint64_t __v = ((const struct __wasm_v128_load64_splat_struct *)__mem)->__v;
100 return (v128_t)(__u64x2){__v, __v};
101}
102
103static __inline__ v128_t __DEFAULT_FN_ATTRS
104wasm_i16x8_load8x8(const void *__mem) {
105 struct __wasm_i16x8_load8x8_struct {
106 __i8x8 __v;
107 } __attribute__((__packed__, __may_alias__));
108 __i8x8 __v = ((const struct __wasm_i16x8_load8x8_struct *)__mem)->__v;
109 return (v128_t) __builtin_convertvector(__v, __i16x8);
110}
111
112static __inline__ v128_t __DEFAULT_FN_ATTRS
113wasm_u16x8_load8x8(const void *__mem) {
114 struct __wasm_u16x8_load8x8_struct {
115 __u8x8 __v;
116 } __attribute__((__packed__, __may_alias__));
117 __u8x8 __v = ((const struct __wasm_u16x8_load8x8_struct *)__mem)->__v;
118 return (v128_t) __builtin_convertvector(__v, __u16x8);
119}
120
121static __inline__ v128_t __DEFAULT_FN_ATTRS
122wasm_i32x4_load16x4(const void *__mem) {
123 struct __wasm_i32x4_load16x4_struct {
124 __i16x4 __v;
125 } __attribute__((__packed__, __may_alias__));
126 __i16x4 __v = ((const struct __wasm_i32x4_load16x4_struct *)__mem)->__v;
127 return (v128_t) __builtin_convertvector(__v, __i32x4);
128}
129
130static __inline__ v128_t __DEFAULT_FN_ATTRS
131wasm_u32x4_load16x4(const void *__mem) {
132 struct __wasm_u32x4_load16x4_struct {
133 __u16x4 __v;
134 } __attribute__((__packed__, __may_alias__));
135 __u16x4 __v = ((const struct __wasm_u32x4_load16x4_struct *)__mem)->__v;
136 return (v128_t) __builtin_convertvector(__v, __u32x4);
137}
138
139static __inline__ v128_t __DEFAULT_FN_ATTRS
140wasm_i64x2_load32x2(const void *__mem) {
141 struct __wasm_i64x2_load32x2_struct {
142 __i32x2 __v;
143 } __attribute__((__packed__, __may_alias__));
144 __i32x2 __v = ((const struct __wasm_i64x2_load32x2_struct *)__mem)->__v;
145 return (v128_t) __builtin_convertvector(__v, __i64x2);
146}
147
148static __inline__ v128_t __DEFAULT_FN_ATTRS
149wasm_u64x2_load32x2(const void *__mem) {
150 struct __wasm_u64x2_load32x2_struct {
151 __u32x2 __v;
152 } __attribute__((__packed__, __may_alias__));
153 __u32x2 __v = ((const struct __wasm_u64x2_load32x2_struct *)__mem)->__v;
154 return (v128_t) __builtin_convertvector(__v, __u64x2);
155}
156
157static __inline__ v128_t __DEFAULT_FN_ATTRS
158wasm_v128_load32_zero(const void *__mem) {
159 struct __wasm_v128_load32_zero_struct {
160 int32_t __v;
161 } __attribute__((__packed__, __may_alias__));
162 int32_t __v = ((const struct __wasm_v128_load32_zero_struct *)__mem)->__v;
163 return (v128_t)(__i32x4){__v, 0, 0, 0};
164}
165
166static __inline__ v128_t __DEFAULT_FN_ATTRS
167wasm_v128_load64_zero(const void *__mem) {
168 struct __wasm_v128_load64_zero_struct {
169 int64_t __v;
170 } __attribute__((__packed__, __may_alias__));
171 int64_t __v = ((const struct __wasm_v128_load64_zero_struct *)__mem)->__v;
172 return (v128_t)(__i64x2){__v, 0};
173}
174
176 const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i) {
177 struct __wasm_v128_load8_lane_struct {
178 int8_t __v;
179 } __attribute__((__packed__, __may_alias__));
180 int8_t __v = ((const struct __wasm_v128_load8_lane_struct *)__mem)->__v;
181 __i8x16 __ret = (__i8x16)__vec;
182 __ret[__i] = __v;
183 return (v128_t)__ret;
184}
185
187 const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i) {
188 struct __wasm_v128_load16_lane_struct {
189 int16_t __v;
190 } __attribute__((__packed__, __may_alias__));
191 int16_t __v = ((const struct __wasm_v128_load16_lane_struct *)__mem)->__v;
192 __i16x8 __ret = (__i16x8)__vec;
193 __ret[__i] = __v;
194 return (v128_t)__ret;
195}
196
198 const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i) {
199 struct __wasm_v128_load32_lane_struct {
200 int32_t __v;
201 } __attribute__((__packed__, __may_alias__));
202 int32_t __v = ((const struct __wasm_v128_load32_lane_struct *)__mem)->__v;
203 __i32x4 __ret = (__i32x4)__vec;
204 __ret[__i] = __v;
205 return (v128_t)__ret;
206}
207
209 const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i) {
210 struct __wasm_v128_load64_lane_struct {
211 int64_t __v;
212 } __attribute__((__packed__, __may_alias__));
213 int64_t __v = ((const struct __wasm_v128_load64_lane_struct *)__mem)->__v;
214 __i64x2 __ret = (__i64x2)__vec;
215 __ret[__i] = __v;
216 return (v128_t)__ret;
217}
218
219static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store(void *__mem,
220 v128_t __a) {
221 // UB-free unaligned access copied from xmmintrin.h
222 struct __wasm_v128_store_struct {
223 __v128_u __v;
224 } __attribute__((__packed__, __may_alias__));
225 ((struct __wasm_v128_store_struct *)__mem)->__v = __a;
226}
227
228static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store8_lane(void *__mem,
229 v128_t __vec,
230 int __i)
231 __REQUIRE_CONSTANT(__i) {
232 struct __wasm_v128_store8_lane_struct {
233 int8_t __v;
234 } __attribute__((__packed__, __may_alias__));
235 ((struct __wasm_v128_store8_lane_struct *)__mem)->__v = ((__i8x16)__vec)[__i];
236}
237
238static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store16_lane(void *__mem,
239 v128_t __vec,
240 int __i)
241 __REQUIRE_CONSTANT(__i) {
242 struct __wasm_v128_store16_lane_struct {
243 int16_t __v;
244 } __attribute__((__packed__, __may_alias__));
245 ((struct __wasm_v128_store16_lane_struct *)__mem)->__v =
246 ((__i16x8)__vec)[__i];
247}
248
249static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store32_lane(void *__mem,
250 v128_t __vec,
251 int __i)
252 __REQUIRE_CONSTANT(__i) {
253 struct __wasm_v128_store32_lane_struct {
254 int32_t __v;
255 } __attribute__((__packed__, __may_alias__));
256 ((struct __wasm_v128_store32_lane_struct *)__mem)->__v =
257 ((__i32x4)__vec)[__i];
258}
259
260static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store64_lane(void *__mem,
261 v128_t __vec,
262 int __i)
263 __REQUIRE_CONSTANT(__i) {
264 struct __wasm_v128_store64_lane_struct {
265 int64_t __v;
266 } __attribute__((__packed__, __may_alias__));
267 ((struct __wasm_v128_store64_lane_struct *)__mem)->__v =
268 ((__i64x2)__vec)[__i];
269}
270
271static __inline__ v128_t __DEFAULT_FN_ATTRS
272wasm_i8x16_make(int8_t __c0, int8_t __c1, int8_t __c2, int8_t __c3, int8_t __c4,
273 int8_t __c5, int8_t __c6, int8_t __c7, int8_t __c8, int8_t __c9,
274 int8_t __c10, int8_t __c11, int8_t __c12, int8_t __c13,
275 int8_t __c14, int8_t __c15) {
276 return (v128_t)(__i8x16){__c0, __c1, __c2, __c3, __c4, __c5,
277 __c6, __c7, __c8, __c9, __c10, __c11,
278 __c12, __c13, __c14, __c15};
279}
280
281static __inline__ v128_t __DEFAULT_FN_ATTRS
282wasm_u8x16_make(uint8_t __c0, uint8_t __c1, uint8_t __c2, uint8_t __c3,
283 uint8_t __c4, uint8_t __c5, uint8_t __c6, uint8_t __c7,
284 uint8_t __c8, uint8_t __c9, uint8_t __c10, uint8_t __c11,
285 uint8_t __c12, uint8_t __c13, uint8_t __c14, uint8_t __c15) {
286 return (v128_t)(__u8x16){__c0, __c1, __c2, __c3, __c4, __c5,
287 __c6, __c7, __c8, __c9, __c10, __c11,
288 __c12, __c13, __c14, __c15};
289}
290
291static __inline__ v128_t __DEFAULT_FN_ATTRS
292wasm_i16x8_make(int16_t __c0, int16_t __c1, int16_t __c2, int16_t __c3,
293 int16_t __c4, int16_t __c5, int16_t __c6, int16_t __c7) {
294 return (v128_t)(__i16x8){__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7};
295}
296
297static __inline__ v128_t __DEFAULT_FN_ATTRS
298wasm_u16x8_make(uint16_t __c0, uint16_t __c1, uint16_t __c2, uint16_t __c3,
299 uint16_t __c4, uint16_t __c5, uint16_t __c6, uint16_t __c7) {
300 return (v128_t)(__u16x8){__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7};
301}
302
303static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_make(int32_t __c0,
304 int32_t __c1,
305 int32_t __c2,
306 int32_t __c3) {
307 return (v128_t)(__i32x4){__c0, __c1, __c2, __c3};
308}
309
310static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_make(uint32_t __c0,
311 uint32_t __c1,
312 uint32_t __c2,
313 uint32_t __c3) {
314 return (v128_t)(__u32x4){__c0, __c1, __c2, __c3};
315}
316
317static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_make(int64_t __c0,
318 int64_t __c1) {
319 return (v128_t)(__i64x2){__c0, __c1};
320}
321
322static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_make(uint64_t __c0,
323 uint64_t __c1) {
324 return (v128_t)(__u64x2){__c0, __c1};
325}
326
327static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_make(float __c0,
328 float __c1,
329 float __c2,
330 float __c3) {
331 return (v128_t)(__f32x4){__c0, __c1, __c2, __c3};
332}
333
334static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_make(double __c0,
335 double __c1) {
336 return (v128_t)(__f64x2){__c0, __c1};
337}
338
339static __inline__ v128_t __DEFAULT_FN_ATTRS
340wasm_i8x16_const(int8_t __c0, int8_t __c1, int8_t __c2, int8_t __c3,
341 int8_t __c4, int8_t __c5, int8_t __c6, int8_t __c7,
342 int8_t __c8, int8_t __c9, int8_t __c10, int8_t __c11,
343 int8_t __c12, int8_t __c13, int8_t __c14, int8_t __c15)
351 __REQUIRE_CONSTANT(__c15) {
352 return (v128_t)(__i8x16){__c0, __c1, __c2, __c3, __c4, __c5,
353 __c6, __c7, __c8, __c9, __c10, __c11,
354 __c12, __c13, __c14, __c15};
355}
356
357static __inline__ v128_t __DEFAULT_FN_ATTRS
358wasm_u8x16_const(uint8_t __c0, uint8_t __c1, uint8_t __c2, uint8_t __c3,
359 uint8_t __c4, uint8_t __c5, uint8_t __c6, uint8_t __c7,
360 uint8_t __c8, uint8_t __c9, uint8_t __c10, uint8_t __c11,
361 uint8_t __c12, uint8_t __c13, uint8_t __c14, uint8_t __c15)
369 __REQUIRE_CONSTANT(__c15) {
370 return (v128_t)(__u8x16){__c0, __c1, __c2, __c3, __c4, __c5,
371 __c6, __c7, __c8, __c9, __c10, __c11,
372 __c12, __c13, __c14, __c15};
373}
374
375static __inline__ v128_t __DEFAULT_FN_ATTRS
376wasm_i16x8_const(int16_t __c0, int16_t __c1, int16_t __c2, int16_t __c3,
377 int16_t __c4, int16_t __c5, int16_t __c6, int16_t __c7)
381 __REQUIRE_CONSTANT(__c7) {
382 return (v128_t)(__i16x8){__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7};
383}
384
385static __inline__ v128_t __DEFAULT_FN_ATTRS
386wasm_u16x8_const(uint16_t __c0, uint16_t __c1, uint16_t __c2, uint16_t __c3,
387 uint16_t __c4, uint16_t __c5, uint16_t __c6, uint16_t __c7)
391 __REQUIRE_CONSTANT(__c7) {
392 return (v128_t)(__u16x8){__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7};
393}
394
395static __inline__ v128_t __DEFAULT_FN_ATTRS
396wasm_i32x4_const(int32_t __c0, int32_t __c1, int32_t __c2, int32_t __c3)
398 __REQUIRE_CONSTANT(__c3) {
399 return (v128_t)(__i32x4){__c0, __c1, __c2, __c3};
400}
401
402static __inline__ v128_t __DEFAULT_FN_ATTRS
403wasm_u32x4_const(uint32_t __c0, uint32_t __c1, uint32_t __c2, uint32_t __c3)
405 __REQUIRE_CONSTANT(__c3) {
406 return (v128_t)(__u32x4){__c0, __c1, __c2, __c3};
407}
408
409static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_const(int64_t __c0,
410 int64_t __c1)
412 return (v128_t)(__i64x2){__c0, __c1};
413}
414
415static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_const(uint64_t __c0,
416 uint64_t __c1)
418 return (v128_t)(__u64x2){__c0, __c1};
419}
420
421static __inline__ v128_t __DEFAULT_FN_ATTRS
422wasm_f32x4_const(float __c0, float __c1, float __c2, float __c3)
424 __REQUIRE_CONSTANT(__c3) {
425 return (v128_t)(__f32x4){__c0, __c1, __c2, __c3};
426}
427
428static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_const(double __c0,
429 double __c1)
431 return (v128_t)(__f64x2){__c0, __c1};
432}
433
434static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_const_splat(int8_t __c)
436 return (v128_t)(__i8x16){__c, __c, __c, __c, __c, __c, __c, __c,
437 __c, __c, __c, __c, __c, __c, __c, __c};
438}
439
440static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_const_splat(uint8_t __c)
442 return (v128_t)(__u8x16){__c, __c, __c, __c, __c, __c, __c, __c,
443 __c, __c, __c, __c, __c, __c, __c, __c};
444}
445
446static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_const_splat(int16_t __c)
448 return (v128_t)(__i16x8){__c, __c, __c, __c, __c, __c, __c, __c};
449}
450
451static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_const_splat(uint16_t __c)
453 return (v128_t)(__u16x8){__c, __c, __c, __c, __c, __c, __c, __c};
454}
455
456static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_const_splat(int32_t __c)
458 return (v128_t)(__i32x4){__c, __c, __c, __c};
459}
460
461static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_const_splat(uint32_t __c)
463 return (v128_t)(__u32x4){__c, __c, __c, __c};
464}
465
466static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_const_splat(int64_t __c)
468 return (v128_t)(__i64x2){__c, __c};
469}
470
471static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_const_splat(uint64_t __c)
473 return (v128_t)(__u64x2){__c, __c};
474}
475
476static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_const_splat(float __c)
478 return (v128_t)(__f32x4){__c, __c, __c, __c};
479}
480
481static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_const_splat(double __c)
483 return (v128_t)(__f64x2){__c, __c};
484}
485
486static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_splat(int8_t __a) {
487 return (v128_t)(__i8x16){__a, __a, __a, __a, __a, __a, __a, __a,
488 __a, __a, __a, __a, __a, __a, __a, __a};
489}
490
491static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_splat(uint8_t __a) {
492 return (v128_t)(__u8x16){__a, __a, __a, __a, __a, __a, __a, __a,
493 __a, __a, __a, __a, __a, __a, __a, __a};
494}
495
496static __inline__ int8_t __DEFAULT_FN_ATTRS wasm_i8x16_extract_lane(v128_t __a,
497 int __i)
498 __REQUIRE_CONSTANT(__i) {
499 return ((__i8x16)__a)[__i];
500}
501
502static __inline__ uint8_t __DEFAULT_FN_ATTRS wasm_u8x16_extract_lane(v128_t __a,
503 int __i)
504 __REQUIRE_CONSTANT(__i) {
505 return ((__u8x16)__a)[__i];
506}
507
508static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_replace_lane(v128_t __a,
509 int __i,
510 int8_t __b)
511 __REQUIRE_CONSTANT(__i) {
512 __i8x16 __v = (__i8x16)__a;
513 __v[__i] = __b;
514 return (v128_t)__v;
515}
516
517static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_replace_lane(v128_t __a,
518 int __i,
519 uint8_t __b)
520 __REQUIRE_CONSTANT(__i) {
521 __u8x16 __v = (__u8x16)__a;
522 __v[__i] = __b;
523 return (v128_t)__v;
524}
525
526static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_splat(int16_t __a) {
527 return (v128_t)(__i16x8){__a, __a, __a, __a, __a, __a, __a, __a};
528}
529
530static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_splat(uint16_t __a) {
531 return (v128_t)(__u16x8){__a, __a, __a, __a, __a, __a, __a, __a};
532}
533
534static __inline__ int16_t __DEFAULT_FN_ATTRS wasm_i16x8_extract_lane(v128_t __a,
535 int __i)
536 __REQUIRE_CONSTANT(__i) {
537 return ((__i16x8)__a)[__i];
538}
539
540static __inline__ uint16_t __DEFAULT_FN_ATTRS
542 return ((__u16x8)__a)[__i];
543}
544
545static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_replace_lane(v128_t __a,
546 int __i,
547 int16_t __b)
548 __REQUIRE_CONSTANT(__i) {
549 __i16x8 __v = (__i16x8)__a;
550 __v[__i] = __b;
551 return (v128_t)__v;
552}
553
555 v128_t __a, int __i, uint16_t __b) __REQUIRE_CONSTANT(__i) {
556 __u16x8 __v = (__u16x8)__a;
557 __v[__i] = __b;
558 return (v128_t)__v;
559}
560
561static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_splat(int32_t __a) {
562 return (v128_t)(__i32x4){__a, __a, __a, __a};
563}
564
565static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_splat(uint32_t __a) {
566 return (v128_t)(__u32x4){__a, __a, __a, __a};
567}
568
569static __inline__ int32_t __DEFAULT_FN_ATTRS wasm_i32x4_extract_lane(v128_t __a,
570 int __i)
571 __REQUIRE_CONSTANT(__i) {
572 return ((__i32x4)__a)[__i];
573}
574
575static __inline__ uint32_t __DEFAULT_FN_ATTRS
577 return ((__u32x4)__a)[__i];
578}
579
580static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_replace_lane(v128_t __a,
581 int __i,
582 int32_t __b)
583 __REQUIRE_CONSTANT(__i) {
584 __i32x4 __v = (__i32x4)__a;
585 __v[__i] = __b;
586 return (v128_t)__v;
587}
588
590 v128_t __a, int __i, uint32_t __b) __REQUIRE_CONSTANT(__i) {
591 __u32x4 __v = (__u32x4)__a;
592 __v[__i] = __b;
593 return (v128_t)__v;
594}
595
596static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_splat(int64_t __a) {
597 return (v128_t)(__i64x2){__a, __a};
598}
599
600static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_splat(uint64_t __a) {
601 return (v128_t)(__u64x2){__a, __a};
602}
603
604static __inline__ int64_t __DEFAULT_FN_ATTRS wasm_i64x2_extract_lane(v128_t __a,
605 int __i)
606 __REQUIRE_CONSTANT(__i) {
607 return ((__i64x2)__a)[__i];
608}
609
610static __inline__ uint64_t __DEFAULT_FN_ATTRS
612 return ((__u64x2)__a)[__i];
613}
614
615static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_replace_lane(v128_t __a,
616 int __i,
617 int64_t __b)
618 __REQUIRE_CONSTANT(__i) {
619 __i64x2 __v = (__i64x2)__a;
620 __v[__i] = __b;
621 return (v128_t)__v;
622}
623
625 v128_t __a, int __i, uint64_t __b) __REQUIRE_CONSTANT(__i) {
626 __u64x2 __v = (__u64x2)__a;
627 __v[__i] = __b;
628 return (v128_t)__v;
629}
630
631static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_splat(float __a) {
632 return (v128_t)(__f32x4){__a, __a, __a, __a};
633}
634
635static __inline__ float __DEFAULT_FN_ATTRS wasm_f32x4_extract_lane(v128_t __a,
636 int __i)
637 __REQUIRE_CONSTANT(__i) {
638 return ((__f32x4)__a)[__i];
639}
640
641static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_replace_lane(v128_t __a,
642 int __i,
643 float __b)
644 __REQUIRE_CONSTANT(__i) {
645 __f32x4 __v = (__f32x4)__a;
646 __v[__i] = __b;
647 return (v128_t)__v;
648}
649
650static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_splat(double __a) {
651 return (v128_t)(__f64x2){__a, __a};
652}
653
654static __inline__ double __DEFAULT_FN_ATTRS wasm_f64x2_extract_lane(v128_t __a,
655 int __i)
656 __REQUIRE_CONSTANT(__i) {
657 return ((__f64x2)__a)[__i];
658}
659
660static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_replace_lane(v128_t __a,
661 int __i,
662 double __b)
663 __REQUIRE_CONSTANT(__i) {
664 __f64x2 __v = (__f64x2)__a;
665 __v[__i] = __b;
666 return (v128_t)__v;
667}
668
669static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_eq(v128_t __a,
670 v128_t __b) {
671 return (v128_t)((__i8x16)__a == (__i8x16)__b);
672}
673
674static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_ne(v128_t __a,
675 v128_t __b) {
676 return (v128_t)((__i8x16)__a != (__i8x16)__b);
677}
678
679static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_lt(v128_t __a,
680 v128_t __b) {
681 return (v128_t)((__i8x16)__a < (__i8x16)__b);
682}
683
684static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_lt(v128_t __a,
685 v128_t __b) {
686 return (v128_t)((__u8x16)__a < (__u8x16)__b);
687}
688
689static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_gt(v128_t __a,
690 v128_t __b) {
691 return (v128_t)((__i8x16)__a > (__i8x16)__b);
692}
693
694static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_gt(v128_t __a,
695 v128_t __b) {
696 return (v128_t)((__u8x16)__a > (__u8x16)__b);
697}
698
699static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_le(v128_t __a,
700 v128_t __b) {
701 return (v128_t)((__i8x16)__a <= (__i8x16)__b);
702}
703
704static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_le(v128_t __a,
705 v128_t __b) {
706 return (v128_t)((__u8x16)__a <= (__u8x16)__b);
707}
708
709static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_ge(v128_t __a,
710 v128_t __b) {
711 return (v128_t)((__i8x16)__a >= (__i8x16)__b);
712}
713
714static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_ge(v128_t __a,
715 v128_t __b) {
716 return (v128_t)((__u8x16)__a >= (__u8x16)__b);
717}
718
719static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_eq(v128_t __a,
720 v128_t __b) {
721 return (v128_t)((__i16x8)__a == (__i16x8)__b);
722}
723
724static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_ne(v128_t __a,
725 v128_t __b) {
726 return (v128_t)((__u16x8)__a != (__u16x8)__b);
727}
728
729static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_lt(v128_t __a,
730 v128_t __b) {
731 return (v128_t)((__i16x8)__a < (__i16x8)__b);
732}
733
734static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_lt(v128_t __a,
735 v128_t __b) {
736 return (v128_t)((__u16x8)__a < (__u16x8)__b);
737}
738
739static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_gt(v128_t __a,
740 v128_t __b) {
741 return (v128_t)((__i16x8)__a > (__i16x8)__b);
742}
743
744static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_gt(v128_t __a,
745 v128_t __b) {
746 return (v128_t)((__u16x8)__a > (__u16x8)__b);
747}
748
749static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_le(v128_t __a,
750 v128_t __b) {
751 return (v128_t)((__i16x8)__a <= (__i16x8)__b);
752}
753
754static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_le(v128_t __a,
755 v128_t __b) {
756 return (v128_t)((__u16x8)__a <= (__u16x8)__b);
757}
758
759static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_ge(v128_t __a,
760 v128_t __b) {
761 return (v128_t)((__i16x8)__a >= (__i16x8)__b);
762}
763
764static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_ge(v128_t __a,
765 v128_t __b) {
766 return (v128_t)((__u16x8)__a >= (__u16x8)__b);
767}
768
769static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_eq(v128_t __a,
770 v128_t __b) {
771 return (v128_t)((__i32x4)__a == (__i32x4)__b);
772}
773
774static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_ne(v128_t __a,
775 v128_t __b) {
776 return (v128_t)((__i32x4)__a != (__i32x4)__b);
777}
778
779static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_lt(v128_t __a,
780 v128_t __b) {
781 return (v128_t)((__i32x4)__a < (__i32x4)__b);
782}
783
784static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_lt(v128_t __a,
785 v128_t __b) {
786 return (v128_t)((__u32x4)__a < (__u32x4)__b);
787}
788
789static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_gt(v128_t __a,
790 v128_t __b) {
791 return (v128_t)((__i32x4)__a > (__i32x4)__b);
792}
793
794static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_gt(v128_t __a,
795 v128_t __b) {
796 return (v128_t)((__u32x4)__a > (__u32x4)__b);
797}
798
799static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_le(v128_t __a,
800 v128_t __b) {
801 return (v128_t)((__i32x4)__a <= (__i32x4)__b);
802}
803
804static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_le(v128_t __a,
805 v128_t __b) {
806 return (v128_t)((__u32x4)__a <= (__u32x4)__b);
807}
808
809static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_ge(v128_t __a,
810 v128_t __b) {
811 return (v128_t)((__i32x4)__a >= (__i32x4)__b);
812}
813
814static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_ge(v128_t __a,
815 v128_t __b) {
816 return (v128_t)((__u32x4)__a >= (__u32x4)__b);
817}
818
819static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_eq(v128_t __a,
820 v128_t __b) {
821 return (v128_t)((__i64x2)__a == (__i64x2)__b);
822}
823
824static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_ne(v128_t __a,
825 v128_t __b) {
826 return (v128_t)((__i64x2)__a != (__i64x2)__b);
827}
828
829static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_lt(v128_t __a,
830 v128_t __b) {
831 return (v128_t)((__i64x2)__a < (__i64x2)__b);
832}
833
834static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_gt(v128_t __a,
835 v128_t __b) {
836 return (v128_t)((__i64x2)__a > (__i64x2)__b);
837}
838
839static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_le(v128_t __a,
840 v128_t __b) {
841 return (v128_t)((__i64x2)__a <= (__i64x2)__b);
842}
843
844static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_ge(v128_t __a,
845 v128_t __b) {
846 return (v128_t)((__i64x2)__a >= (__i64x2)__b);
847}
848
849static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_eq(v128_t __a,
850 v128_t __b) {
851 return (v128_t)((__f32x4)__a == (__f32x4)__b);
852}
853
854static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_ne(v128_t __a,
855 v128_t __b) {
856 return (v128_t)((__f32x4)__a != (__f32x4)__b);
857}
858
859static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_lt(v128_t __a,
860 v128_t __b) {
861 return (v128_t)((__f32x4)__a < (__f32x4)__b);
862}
863
864static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_gt(v128_t __a,
865 v128_t __b) {
866 return (v128_t)((__f32x4)__a > (__f32x4)__b);
867}
868
869static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_le(v128_t __a,
870 v128_t __b) {
871 return (v128_t)((__f32x4)__a <= (__f32x4)__b);
872}
873
874static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_ge(v128_t __a,
875 v128_t __b) {
876 return (v128_t)((__f32x4)__a >= (__f32x4)__b);
877}
878
879static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_eq(v128_t __a,
880 v128_t __b) {
881 return (v128_t)((__f64x2)__a == (__f64x2)__b);
882}
883
884static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_ne(v128_t __a,
885 v128_t __b) {
886 return (v128_t)((__f64x2)__a != (__f64x2)__b);
887}
888
889static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_lt(v128_t __a,
890 v128_t __b) {
891 return (v128_t)((__f64x2)__a < (__f64x2)__b);
892}
893
894static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_gt(v128_t __a,
895 v128_t __b) {
896 return (v128_t)((__f64x2)__a > (__f64x2)__b);
897}
898
899static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_le(v128_t __a,
900 v128_t __b) {
901 return (v128_t)((__f64x2)__a <= (__f64x2)__b);
902}
903
904static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_ge(v128_t __a,
905 v128_t __b) {
906 return (v128_t)((__f64x2)__a >= (__f64x2)__b);
907}
908
909static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_not(v128_t __a) {
910 return ~__a;
911}
912
913static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_and(v128_t __a,
914 v128_t __b) {
915 return __a & __b;
916}
917
918static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_or(v128_t __a,
919 v128_t __b) {
920 return __a | __b;
921}
922
923static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_xor(v128_t __a,
924 v128_t __b) {
925 return __a ^ __b;
926}
927
928static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_andnot(v128_t __a,
929 v128_t __b) {
930 return __a & ~__b;
931}
932
933static __inline__ bool __DEFAULT_FN_ATTRS wasm_v128_any_true(v128_t __a) {
934 return __builtin_wasm_any_true_v128((__i8x16)__a);
935}
936
937static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_bitselect(v128_t __a,
938 v128_t __b,
939 v128_t __mask) {
940 return (v128_t)__builtin_wasm_bitselect((__i32x4)__a, (__i32x4)__b,
941 (__i32x4)__mask);
942}
943
944static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_abs(v128_t __a) {
945 return (v128_t)__builtin_wasm_abs_i8x16((__i8x16)__a);
946}
947
948static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_neg(v128_t __a) {
949 return (v128_t)(-(__u8x16)__a);
950}
951
952static __inline__ bool __DEFAULT_FN_ATTRS wasm_i8x16_all_true(v128_t __a) {
953 return __builtin_wasm_all_true_i8x16((__i8x16)__a);
954}
955
956static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_i8x16_bitmask(v128_t __a) {
957 return __builtin_wasm_bitmask_i8x16((__i8x16)__a);
958}
959
960static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_popcnt(v128_t __a) {
961 return (v128_t)__builtin_elementwise_popcount((__i8x16)__a);
962}
963
964static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_shl(v128_t __a,
965 uint32_t __b) {
966 return (v128_t)((__i8x16)__a << (__b & 0x7));
967}
968
969static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_shr(v128_t __a,
970 uint32_t __b) {
971 return (v128_t)((__i8x16)__a >> (__b & 0x7));
972}
973
974static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_shr(v128_t __a,
975 uint32_t __b) {
976 return (v128_t)((__u8x16)__a >> (__b & 0x7));
977}
978
979static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_add(v128_t __a,
980 v128_t __b) {
981 return (v128_t)((__u8x16)__a + (__u8x16)__b);
982}
983
984static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_add_sat(v128_t __a,
985 v128_t __b) {
986 return (v128_t)__builtin_elementwise_add_sat((__i8x16)__a, (__i8x16)__b);
987}
988
989static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_add_sat(v128_t __a,
990 v128_t __b) {
991 return (v128_t)__builtin_elementwise_add_sat((__u8x16)__a, (__u8x16)__b);
992}
993
994static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_sub(v128_t __a,
995 v128_t __b) {
996 return (v128_t)((__u8x16)__a - (__u8x16)__b);
997}
998
999static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_sub_sat(v128_t __a,
1000 v128_t __b) {
1001 return (v128_t)__builtin_elementwise_sub_sat((__i8x16)__a, (__i8x16)__b);
1002}
1003
1004static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_sub_sat(v128_t __a,
1005 v128_t __b) {
1006 return (v128_t)__builtin_elementwise_sub_sat((__u8x16)__a, (__u8x16)__b);
1007}
1008
1009static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_min(v128_t __a,
1010 v128_t __b) {
1011 return (v128_t)__builtin_elementwise_min((__i8x16)__a, (__i8x16)__b);
1012}
1013
1014static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_min(v128_t __a,
1015 v128_t __b) {
1016 return (v128_t)__builtin_elementwise_min((__u8x16)__a, (__u8x16)__b);
1017}
1018
1019static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_max(v128_t __a,
1020 v128_t __b) {
1021 return (v128_t)__builtin_elementwise_max((__i8x16)__a, (__i8x16)__b);
1022}
1023
1024static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_max(v128_t __a,
1025 v128_t __b) {
1026 return (v128_t)__builtin_elementwise_max((__u8x16)__a, (__u8x16)__b);
1027}
1028
1029static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_avgr(v128_t __a,
1030 v128_t __b) {
1031 return (v128_t)__builtin_wasm_avgr_u_i8x16((__u8x16)__a, (__u8x16)__b);
1032}
1033
1034static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_abs(v128_t __a) {
1035 return (v128_t)__builtin_wasm_abs_i16x8((__i16x8)__a);
1036}
1037
1038static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_neg(v128_t __a) {
1039 return (v128_t)(-(__u16x8)__a);
1040}
1041
1042static __inline__ bool __DEFAULT_FN_ATTRS wasm_i16x8_all_true(v128_t __a) {
1043 return __builtin_wasm_all_true_i16x8((__i16x8)__a);
1044}
1045
1046static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_i16x8_bitmask(v128_t __a) {
1047 return __builtin_wasm_bitmask_i16x8((__i16x8)__a);
1048}
1049
1050static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_shl(v128_t __a,
1051 uint32_t __b) {
1052 return (v128_t)((__i16x8)__a << (__b & 0xF));
1053}
1054
1055static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_shr(v128_t __a,
1056 uint32_t __b) {
1057 return (v128_t)((__i16x8)__a >> (__b & 0xF));
1058}
1059
1060static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_shr(v128_t __a,
1061 uint32_t __b) {
1062 return (v128_t)((__u16x8)__a >> (__b & 0xF));
1063}
1064
1065static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_add(v128_t __a,
1066 v128_t __b) {
1067 return (v128_t)((__u16x8)__a + (__u16x8)__b);
1068}
1069
1070static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_add_sat(v128_t __a,
1071 v128_t __b) {
1072 return (v128_t)__builtin_elementwise_add_sat((__i16x8)__a, (__i16x8)__b);
1073}
1074
1075static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_add_sat(v128_t __a,
1076 v128_t __b) {
1077 return (v128_t)__builtin_elementwise_add_sat((__u16x8)__a, (__u16x8)__b);
1078}
1079
1080static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_sub(v128_t __a,
1081 v128_t __b) {
1082 return (v128_t)((__i16x8)__a - (__i16x8)__b);
1083}
1084
1085static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_sub_sat(v128_t __a,
1086 v128_t __b) {
1087 return (v128_t)__builtin_elementwise_sub_sat((__i16x8)__a, (__i16x8)__b);
1088}
1089
1090static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_sub_sat(v128_t __a,
1091 v128_t __b) {
1092 return (v128_t)__builtin_elementwise_sub_sat((__u16x8)__a, (__u16x8)__b);
1093}
1094
1095static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_mul(v128_t __a,
1096 v128_t __b) {
1097 return (v128_t)((__u16x8)__a * (__u16x8)__b);
1098}
1099
1100static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_min(v128_t __a,
1101 v128_t __b) {
1102 return (v128_t)__builtin_elementwise_min((__i16x8)__a, (__i16x8)__b);
1103}
1104
1105static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_min(v128_t __a,
1106 v128_t __b) {
1107 return (v128_t)__builtin_elementwise_min((__u16x8)__a, (__u16x8)__b);
1108}
1109
1110static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_max(v128_t __a,
1111 v128_t __b) {
1112 return (v128_t)__builtin_elementwise_max((__i16x8)__a, (__i16x8)__b);
1113}
1114
1115static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_max(v128_t __a,
1116 v128_t __b) {
1117 return (v128_t)__builtin_elementwise_max((__u16x8)__a, (__u16x8)__b);
1118}
1119
1120static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_avgr(v128_t __a,
1121 v128_t __b) {
1122 return (v128_t)__builtin_wasm_avgr_u_i16x8((__u16x8)__a, (__u16x8)__b);
1123}
1124
1125static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_abs(v128_t __a) {
1126 return (v128_t)__builtin_wasm_abs_i32x4((__i32x4)__a);
1127}
1128
1129static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_neg(v128_t __a) {
1130 return (v128_t)(-(__u32x4)__a);
1131}
1132
1133static __inline__ bool __DEFAULT_FN_ATTRS wasm_i32x4_all_true(v128_t __a) {
1134 return __builtin_wasm_all_true_i32x4((__i32x4)__a);
1135}
1136
1137static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_i32x4_bitmask(v128_t __a) {
1138 return __builtin_wasm_bitmask_i32x4((__i32x4)__a);
1139}
1140
1141static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_shl(v128_t __a,
1142 uint32_t __b) {
1143 return (v128_t)((__i32x4)__a << (__b & 0x1F));
1144}
1145
1146static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_shr(v128_t __a,
1147 uint32_t __b) {
1148 return (v128_t)((__i32x4)__a >> (__b & 0x1F));
1149}
1150
1151static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_shr(v128_t __a,
1152 uint32_t __b) {
1153 return (v128_t)((__u32x4)__a >> (__b & 0x1F));
1154}
1155
1156static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_add(v128_t __a,
1157 v128_t __b) {
1158 return (v128_t)((__u32x4)__a + (__u32x4)__b);
1159}
1160
1161static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_sub(v128_t __a,
1162 v128_t __b) {
1163 return (v128_t)((__u32x4)__a - (__u32x4)__b);
1164}
1165
1166static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_mul(v128_t __a,
1167 v128_t __b) {
1168 return (v128_t)((__u32x4)__a * (__u32x4)__b);
1169}
1170
1171static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_min(v128_t __a,
1172 v128_t __b) {
1173 return (v128_t)__builtin_elementwise_min((__i32x4)__a, (__i32x4)__b);
1174}
1175
1176static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_min(v128_t __a,
1177 v128_t __b) {
1178 return (v128_t)__builtin_elementwise_min((__u32x4)__a, (__u32x4)__b);
1179}
1180
1181static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_max(v128_t __a,
1182 v128_t __b) {
1183 return (v128_t)__builtin_elementwise_max((__i32x4)__a, (__i32x4)__b);
1184}
1185
1186static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_max(v128_t __a,
1187 v128_t __b) {
1188 return (v128_t)__builtin_elementwise_max((__u32x4)__a, (__u32x4)__b);
1189}
1190
1191static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_dot_i16x8(v128_t __a,
1192 v128_t __b) {
1193 return (v128_t)__builtin_wasm_dot_s_i32x4_i16x8((__i16x8)__a, (__i16x8)__b);
1194}
1195
1196static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_abs(v128_t __a) {
1197 return (v128_t)__builtin_wasm_abs_i64x2((__i64x2)__a);
1198}
1199
1200static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_neg(v128_t __a) {
1201 return (v128_t)(-(__u64x2)__a);
1202}
1203
1204static __inline__ bool __DEFAULT_FN_ATTRS wasm_i64x2_all_true(v128_t __a) {
1205 return __builtin_wasm_all_true_i64x2((__i64x2)__a);
1206}
1207
1208static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_i64x2_bitmask(v128_t __a) {
1209 return __builtin_wasm_bitmask_i64x2((__i64x2)__a);
1210}
1211
1212static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_shl(v128_t __a,
1213 uint32_t __b) {
1214 return (v128_t)((__i64x2)__a << ((int64_t)__b & 0x3F));
1215}
1216
1217static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_shr(v128_t __a,
1218 uint32_t __b) {
1219 return (v128_t)((__i64x2)__a >> ((int64_t)__b & 0x3F));
1220}
1221
1222static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_shr(v128_t __a,
1223 uint32_t __b) {
1224 return (v128_t)((__u64x2)__a >> ((int64_t)__b & 0x3F));
1225}
1226
1227static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_add(v128_t __a,
1228 v128_t __b) {
1229 return (v128_t)((__u64x2)__a + (__u64x2)__b);
1230}
1231
1232static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_sub(v128_t __a,
1233 v128_t __b) {
1234 return (v128_t)((__u64x2)__a - (__u64x2)__b);
1235}
1236
1237static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_mul(v128_t __a,
1238 v128_t __b) {
1239 return (v128_t)((__u64x2)__a * (__u64x2)__b);
1240}
1241
1242static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_abs(v128_t __a) {
1243 return (v128_t)__builtin_wasm_abs_f32x4((__f32x4)__a);
1244}
1245
1246static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_neg(v128_t __a) {
1247 return (v128_t)(-(__f32x4)__a);
1248}
1249
1250static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_sqrt(v128_t __a) {
1251 return (v128_t)__builtin_wasm_sqrt_f32x4((__f32x4)__a);
1252}
1253
1254static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_ceil(v128_t __a) {
1255 return (v128_t)__builtin_wasm_ceil_f32x4((__f32x4)__a);
1256}
1257
1258static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_floor(v128_t __a) {
1259 return (v128_t)__builtin_wasm_floor_f32x4((__f32x4)__a);
1260}
1261
1262static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_trunc(v128_t __a) {
1263 return (v128_t)__builtin_wasm_trunc_f32x4((__f32x4)__a);
1264}
1265
1266static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_nearest(v128_t __a) {
1267 return (v128_t)__builtin_wasm_nearest_f32x4((__f32x4)__a);
1268}
1269
1270static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_add(v128_t __a,
1271 v128_t __b) {
1272 return (v128_t)((__f32x4)__a + (__f32x4)__b);
1273}
1274
1275static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_sub(v128_t __a,
1276 v128_t __b) {
1277 return (v128_t)((__f32x4)__a - (__f32x4)__b);
1278}
1279
1280static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_mul(v128_t __a,
1281 v128_t __b) {
1282 return (v128_t)((__f32x4)__a * (__f32x4)__b);
1283}
1284
1285static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_div(v128_t __a,
1286 v128_t __b) {
1287 return (v128_t)((__f32x4)__a / (__f32x4)__b);
1288}
1289
1290static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_min(v128_t __a,
1291 v128_t __b) {
1292 return (v128_t)__builtin_wasm_min_f32x4((__f32x4)__a, (__f32x4)__b);
1293}
1294
1295static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_max(v128_t __a,
1296 v128_t __b) {
1297 return (v128_t)__builtin_wasm_max_f32x4((__f32x4)__a, (__f32x4)__b);
1298}
1299
1300static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_pmin(v128_t __a,
1301 v128_t __b) {
1302 return (v128_t)__builtin_wasm_pmin_f32x4((__f32x4)__a, (__f32x4)__b);
1303}
1304
1305static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_pmax(v128_t __a,
1306 v128_t __b) {
1307 return (v128_t)__builtin_wasm_pmax_f32x4((__f32x4)__a, (__f32x4)__b);
1308}
1309
1310static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_abs(v128_t __a) {
1311 return (v128_t)__builtin_wasm_abs_f64x2((__f64x2)__a);
1312}
1313
1314static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_neg(v128_t __a) {
1315 return (v128_t)(-(__f64x2)__a);
1316}
1317
1318static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_sqrt(v128_t __a) {
1319 return (v128_t)__builtin_wasm_sqrt_f64x2((__f64x2)__a);
1320}
1321
1322static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_ceil(v128_t __a) {
1323 return (v128_t)__builtin_wasm_ceil_f64x2((__f64x2)__a);
1324}
1325
1326static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_floor(v128_t __a) {
1327 return (v128_t)__builtin_wasm_floor_f64x2((__f64x2)__a);
1328}
1329
1330static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_trunc(v128_t __a) {
1331 return (v128_t)__builtin_wasm_trunc_f64x2((__f64x2)__a);
1332}
1333
1334static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_nearest(v128_t __a) {
1335 return (v128_t)__builtin_wasm_nearest_f64x2((__f64x2)__a);
1336}
1337
1338static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_add(v128_t __a,
1339 v128_t __b) {
1340 return (v128_t)((__f64x2)__a + (__f64x2)__b);
1341}
1342
1343static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_sub(v128_t __a,
1344 v128_t __b) {
1345 return (v128_t)((__f64x2)__a - (__f64x2)__b);
1346}
1347
1348static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_mul(v128_t __a,
1349 v128_t __b) {
1350 return (v128_t)((__f64x2)__a * (__f64x2)__b);
1351}
1352
1353static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_div(v128_t __a,
1354 v128_t __b) {
1355 return (v128_t)((__f64x2)__a / (__f64x2)__b);
1356}
1357
1358static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_min(v128_t __a,
1359 v128_t __b) {
1360 return (v128_t)__builtin_wasm_min_f64x2((__f64x2)__a, (__f64x2)__b);
1361}
1362
1363static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_max(v128_t __a,
1364 v128_t __b) {
1365 return (v128_t)__builtin_wasm_max_f64x2((__f64x2)__a, (__f64x2)__b);
1366}
1367
1368static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_pmin(v128_t __a,
1369 v128_t __b) {
1370 return (v128_t)__builtin_wasm_pmin_f64x2((__f64x2)__a, (__f64x2)__b);
1371}
1372
1373static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_pmax(v128_t __a,
1374 v128_t __b) {
1375 return (v128_t)__builtin_wasm_pmax_f64x2((__f64x2)__a, (__f64x2)__b);
1376}
1377
1378static __inline__ v128_t __DEFAULT_FN_ATTRS
1380 return (v128_t)__builtin_wasm_trunc_saturate_s_i32x4_f32x4((__f32x4)__a);
1381}
1382
1383static __inline__ v128_t __DEFAULT_FN_ATTRS
1385 return (v128_t)__builtin_wasm_trunc_saturate_u_i32x4_f32x4((__f32x4)__a);
1386}
1387
1388static __inline__ v128_t __DEFAULT_FN_ATTRS
1390 return (v128_t) __builtin_convertvector((__i32x4)__a, __f32x4);
1391}
1392
1393static __inline__ v128_t __DEFAULT_FN_ATTRS
1395 return (v128_t) __builtin_convertvector((__u32x4)__a, __f32x4);
1396}
1397
1398static __inline__ v128_t __DEFAULT_FN_ATTRS
1400 return (v128_t) __builtin_convertvector((__i32x2){__a[0], __a[1]}, __f64x2);
1401}
1402
1403static __inline__ v128_t __DEFAULT_FN_ATTRS
1405 return (v128_t) __builtin_convertvector((__u32x2){__a[0], __a[1]}, __f64x2);
1406}
1407
1408static __inline__ v128_t __DEFAULT_FN_ATTRS
1410 return (v128_t)__builtin_wasm_trunc_sat_s_zero_f64x2_i32x4((__f64x2)__a);
1411}
1412
1413static __inline__ v128_t __DEFAULT_FN_ATTRS
1415 return (v128_t)__builtin_wasm_trunc_sat_u_zero_f64x2_i32x4((__f64x2)__a);
1416}
1417
1418static __inline__ v128_t __DEFAULT_FN_ATTRS
1420 return (v128_t) __builtin_convertvector(
1421 __builtin_shufflevector((__f64x2)__a, (__f64x2){0, 0}, 0, 1, 2, 3),
1422 __f32x4);
1423}
1424
1425static __inline__ v128_t __DEFAULT_FN_ATTRS
1427 return (v128_t) __builtin_convertvector(
1428 (__f32x2){((__f32x4)__a)[0], ((__f32x4)__a)[1]}, __f64x2);
1429}
1430
1431#define wasm_i8x16_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
1432 __c7, __c8, __c9, __c10, __c11, __c12, __c13, \
1433 __c14, __c15) \
1434 ((v128_t)__builtin_wasm_shuffle_i8x16( \
1435 (__i8x16)(__a), (__i8x16)(__b), __c0, __c1, __c2, __c3, __c4, __c5, \
1436 __c6, __c7, __c8, __c9, __c10, __c11, __c12, __c13, __c14, __c15))
1437
1438#define wasm_i16x8_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
1439 __c7) \
1440 ((v128_t)__builtin_wasm_shuffle_i8x16( \
1441 (__i8x16)(__a), (__i8x16)(__b), (__c0)*2, (__c0)*2 + 1, (__c1)*2, \
1442 (__c1)*2 + 1, (__c2)*2, (__c2)*2 + 1, (__c3)*2, (__c3)*2 + 1, (__c4)*2, \
1443 (__c4)*2 + 1, (__c5)*2, (__c5)*2 + 1, (__c6)*2, (__c6)*2 + 1, (__c7)*2, \
1444 (__c7)*2 + 1))
1445
1446#define wasm_i32x4_shuffle(__a, __b, __c0, __c1, __c2, __c3) \
1447 ((v128_t)__builtin_wasm_shuffle_i8x16( \
1448 (__i8x16)(__a), (__i8x16)(__b), (__c0)*4, (__c0)*4 + 1, (__c0)*4 + 2, \
1449 (__c0)*4 + 3, (__c1)*4, (__c1)*4 + 1, (__c1)*4 + 2, (__c1)*4 + 3, \
1450 (__c2)*4, (__c2)*4 + 1, (__c2)*4 + 2, (__c2)*4 + 3, (__c3)*4, \
1451 (__c3)*4 + 1, (__c3)*4 + 2, (__c3)*4 + 3))
1452
1453#define wasm_i64x2_shuffle(__a, __b, __c0, __c1) \
1454 ((v128_t)__builtin_wasm_shuffle_i8x16( \
1455 (__i8x16)(__a), (__i8x16)(__b), (__c0)*8, (__c0)*8 + 1, (__c0)*8 + 2, \
1456 (__c0)*8 + 3, (__c0)*8 + 4, (__c0)*8 + 5, (__c0)*8 + 6, (__c0)*8 + 7, \
1457 (__c1)*8, (__c1)*8 + 1, (__c1)*8 + 2, (__c1)*8 + 3, (__c1)*8 + 4, \
1458 (__c1)*8 + 5, (__c1)*8 + 6, (__c1)*8 + 7))
1459
1460static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_swizzle(v128_t __a,
1461 v128_t __b) {
1462 return (v128_t)__builtin_wasm_swizzle_i8x16((__i8x16)__a, (__i8x16)__b);
1463}
1464
1465static __inline__ v128_t __DEFAULT_FN_ATTRS
1467 return (v128_t)__builtin_wasm_narrow_s_i8x16_i16x8((__i16x8)__a,
1468 (__i16x8)__b);
1469}
1470
1471static __inline__ v128_t __DEFAULT_FN_ATTRS
1473 return (v128_t)__builtin_wasm_narrow_u_i8x16_i16x8((__i16x8)__a,
1474 (__i16x8)__b);
1475}
1476
1477static __inline__ v128_t __DEFAULT_FN_ATTRS
1479 return (v128_t)__builtin_wasm_narrow_s_i16x8_i32x4((__i32x4)__a,
1480 (__i32x4)__b);
1481}
1482
1483static __inline__ v128_t __DEFAULT_FN_ATTRS
1485 return (v128_t)__builtin_wasm_narrow_u_i16x8_i32x4((__i32x4)__a,
1486 (__i32x4)__b);
1487}
1488
1489static __inline__ v128_t __DEFAULT_FN_ATTRS
1491 return (v128_t) __builtin_convertvector(
1492 (__i8x8){((__i8x16)__a)[0], ((__i8x16)__a)[1], ((__i8x16)__a)[2],
1493 ((__i8x16)__a)[3], ((__i8x16)__a)[4], ((__i8x16)__a)[5],
1494 ((__i8x16)__a)[6], ((__i8x16)__a)[7]},
1495 __i16x8);
1496}
1497
1498static __inline__ v128_t __DEFAULT_FN_ATTRS
1500 return (v128_t) __builtin_convertvector(
1501 (__i8x8){((__i8x16)__a)[8], ((__i8x16)__a)[9], ((__i8x16)__a)[10],
1502 ((__i8x16)__a)[11], ((__i8x16)__a)[12], ((__i8x16)__a)[13],
1503 ((__i8x16)__a)[14], ((__i8x16)__a)[15]},
1504 __i16x8);
1505}
1506
1507static __inline__ v128_t __DEFAULT_FN_ATTRS
1509 return (v128_t) __builtin_convertvector(
1510 (__u8x8){((__u8x16)__a)[0], ((__u8x16)__a)[1], ((__u8x16)__a)[2],
1511 ((__u8x16)__a)[3], ((__u8x16)__a)[4], ((__u8x16)__a)[5],
1512 ((__u8x16)__a)[6], ((__u8x16)__a)[7]},
1513 __u16x8);
1514}
1515
1516static __inline__ v128_t __DEFAULT_FN_ATTRS
1518 return (v128_t) __builtin_convertvector(
1519 (__u8x8){((__u8x16)__a)[8], ((__u8x16)__a)[9], ((__u8x16)__a)[10],
1520 ((__u8x16)__a)[11], ((__u8x16)__a)[12], ((__u8x16)__a)[13],
1521 ((__u8x16)__a)[14], ((__u8x16)__a)[15]},
1522 __u16x8);
1523}
1524
1525static __inline__ v128_t __DEFAULT_FN_ATTRS
1527 return (v128_t) __builtin_convertvector(
1528 (__i16x4){((__i16x8)__a)[0], ((__i16x8)__a)[1], ((__i16x8)__a)[2],
1529 ((__i16x8)__a)[3]},
1530 __i32x4);
1531}
1532
1533static __inline__ v128_t __DEFAULT_FN_ATTRS
1535 return (v128_t) __builtin_convertvector(
1536 (__i16x4){((__i16x8)__a)[4], ((__i16x8)__a)[5], ((__i16x8)__a)[6],
1537 ((__i16x8)__a)[7]},
1538 __i32x4);
1539}
1540
1541static __inline__ v128_t __DEFAULT_FN_ATTRS
1543 return (v128_t) __builtin_convertvector(
1544 (__u16x4){((__u16x8)__a)[0], ((__u16x8)__a)[1], ((__u16x8)__a)[2],
1545 ((__u16x8)__a)[3]},
1546 __u32x4);
1547}
1548
1549static __inline__ v128_t __DEFAULT_FN_ATTRS
1551 return (v128_t) __builtin_convertvector(
1552 (__u16x4){((__u16x8)__a)[4], ((__u16x8)__a)[5], ((__u16x8)__a)[6],
1553 ((__u16x8)__a)[7]},
1554 __u32x4);
1555}
1556
1557static __inline__ v128_t __DEFAULT_FN_ATTRS
1559 return (v128_t) __builtin_convertvector(
1560 (__i32x2){((__i32x4)__a)[0], ((__i32x4)__a)[1]}, __i64x2);
1561}
1562
1563static __inline__ v128_t __DEFAULT_FN_ATTRS
1565 return (v128_t) __builtin_convertvector(
1566 (__i32x2){((__i32x4)__a)[2], ((__i32x4)__a)[3]}, __i64x2);
1567}
1568
1569static __inline__ v128_t __DEFAULT_FN_ATTRS
1571 return (v128_t) __builtin_convertvector(
1572 (__u32x2){((__u32x4)__a)[0], ((__u32x4)__a)[1]}, __u64x2);
1573}
1574
1575static __inline__ v128_t __DEFAULT_FN_ATTRS
1577 return (v128_t) __builtin_convertvector(
1578 (__u32x2){((__u32x4)__a)[2], ((__u32x4)__a)[3]}, __u64x2);
1579}
1580
1581static __inline__ v128_t __DEFAULT_FN_ATTRS
1583 return (v128_t)__builtin_wasm_extadd_pairwise_i8x16_s_i16x8((__i8x16)__a);
1584}
1585
1586static __inline__ v128_t __DEFAULT_FN_ATTRS
1588 return (v128_t)__builtin_wasm_extadd_pairwise_i8x16_u_i16x8((__u8x16)__a);
1589}
1590
1591static __inline__ v128_t __DEFAULT_FN_ATTRS
1593 return (v128_t)__builtin_wasm_extadd_pairwise_i16x8_s_i32x4((__i16x8)__a);
1594}
1595
1596static __inline__ v128_t __DEFAULT_FN_ATTRS
1598 return (v128_t)__builtin_wasm_extadd_pairwise_i16x8_u_i32x4((__u16x8)__a);
1599}
1600
1601static __inline__ v128_t __DEFAULT_FN_ATTRS
1603 return (v128_t)((__i16x8)wasm_i16x8_extend_low_i8x16(__a) *
1605}
1606
1607static __inline__ v128_t __DEFAULT_FN_ATTRS
1609 return (v128_t)((__i16x8)wasm_i16x8_extend_high_i8x16(__a) *
1611}
1612
1613static __inline__ v128_t __DEFAULT_FN_ATTRS
1615 return (v128_t)((__u16x8)wasm_u16x8_extend_low_u8x16(__a) *
1617}
1618
1619static __inline__ v128_t __DEFAULT_FN_ATTRS
1621 return (v128_t)((__u16x8)wasm_u16x8_extend_high_u8x16(__a) *
1623}
1624
1625static __inline__ v128_t __DEFAULT_FN_ATTRS
1627 return (v128_t)((__i32x4)wasm_i32x4_extend_low_i16x8(__a) *
1629}
1630
1631static __inline__ v128_t __DEFAULT_FN_ATTRS
1633 return (v128_t)((__i32x4)wasm_i32x4_extend_high_i16x8(__a) *
1635}
1636
1637static __inline__ v128_t __DEFAULT_FN_ATTRS
1639 return (v128_t)((__u32x4)wasm_u32x4_extend_low_u16x8(__a) *
1641}
1642
1643static __inline__ v128_t __DEFAULT_FN_ATTRS
1645 return (v128_t)((__u32x4)wasm_u32x4_extend_high_u16x8(__a) *
1647}
1648
1649static __inline__ v128_t __DEFAULT_FN_ATTRS
1651 return (v128_t)((__i64x2)wasm_i64x2_extend_low_i32x4(__a) *
1653}
1654
1655static __inline__ v128_t __DEFAULT_FN_ATTRS
1657 return (v128_t)((__i64x2)wasm_i64x2_extend_high_i32x4(__a) *
1659}
1660
1661static __inline__ v128_t __DEFAULT_FN_ATTRS
1663 return (v128_t)((__u64x2)wasm_u64x2_extend_low_u32x4(__a) *
1665}
1666
1667static __inline__ v128_t __DEFAULT_FN_ATTRS
1669 return (v128_t)((__u64x2)wasm_u64x2_extend_high_u32x4(__a) *
1671}
1672
1673static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_q15mulr_sat(v128_t __a,
1674 v128_t __b) {
1675 return (v128_t)__builtin_wasm_q15mulr_sat_s_i16x8((__i16x8)__a, (__i16x8)__b);
1676}
1677
1678// Old intrinsic names supported to ease transitioning to the standard names. Do
1679// not use these; they will be removed in the near future.
1680
1681#define __DEPRECATED_FN_ATTRS(__replacement) \
1682 __DEFAULT_FN_ATTRS __attribute__( \
1683 (deprecated("use " __replacement " instead", __replacement)))
1684
1685#define __WASM_STR(X) #X
1686
1687#ifdef __DEPRECATED
1688#define __DEPRECATED_WASM_MACRO(__name, __replacement) \
1689 _Pragma(__WASM_STR(GCC warning( \
1690 "'" __name "' is deprecated: use '" __replacement "' instead")))
1691#else
1692#define __DEPRECATED_WASM_MACRO(__name, __replacement)
1693#endif
1694
1695static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_v128_load8_splat")
1696wasm_v8x16_load_splat(const void *__mem) {
1697 return wasm_v128_load8_splat(__mem);
1698}
1699
1700static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_v128_load16_splat")
1701wasm_v16x8_load_splat(const void *__mem) {
1702 return wasm_v128_load16_splat(__mem);
1703}
1704
1705static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_v128_load32_splat")
1706wasm_v32x4_load_splat(const void *__mem) {
1707 return wasm_v128_load32_splat(__mem);
1708}
1709
1710static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_v128_load64_splat")
1711wasm_v64x2_load_splat(const void *__mem) {
1712 return wasm_v128_load64_splat(__mem);
1713}
1714
1715static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_load8x8")
1716wasm_i16x8_load_8x8(const void *__mem) {
1717 return wasm_i16x8_load8x8(__mem);
1718}
1719
1720static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_load8x8")
1721wasm_u16x8_load_8x8(const void *__mem) {
1722 return wasm_u16x8_load8x8(__mem);
1723}
1724
1725static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i32x4_load16x4")
1726wasm_i32x4_load_16x4(const void *__mem) {
1727 return wasm_i32x4_load16x4(__mem);
1728}
1729
1730static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u32x4_load16x4")
1731wasm_u32x4_load_16x4(const void *__mem) {
1732 return wasm_u32x4_load16x4(__mem);
1733}
1734
1735static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i64x2_load32x2")
1736wasm_i64x2_load_32x2(const void *__mem) {
1737 return wasm_i64x2_load32x2(__mem);
1738}
1739
1740static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u64x2_load32x2")
1741wasm_u64x2_load_32x2(const void *__mem) {
1742 return wasm_u64x2_load32x2(__mem);
1743}
1744
1745#define wasm_v8x16_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
1746 __c7, __c8, __c9, __c10, __c11, __c12, __c13, \
1747 __c14, __c15) \
1748 __DEPRECATED_WASM_MACRO("wasm_v8x16_shuffle", "wasm_i8x16_shuffle") \
1749 wasm_i8x16_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7, \
1750 __c8, __c9, __c10, __c11, __c12, __c13, __c14, __c15)
1751
1752#define wasm_v16x8_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
1753 __c7) \
1754 __DEPRECATED_WASM_MACRO("wasm_v16x8_shuffle", "wasm_i16x8_shuffle") \
1755 wasm_i16x8_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7)
1756
1757#define wasm_v32x4_shuffle(__a, __b, __c0, __c1, __c2, __c3) \
1758 __DEPRECATED_WASM_MACRO("wasm_v32x4_shuffle", "wasm_i32x4_shuffle") \
1759 wasm_i32x4_shuffle(__a, __b, __c0, __c1, __c2, __c3)
1760
1761#define wasm_v64x2_shuffle(__a, __b, __c0, __c1) \
1762 __DEPRECATED_WASM_MACRO("wasm_v64x2_shuffle", "wasm_i64x2_shuffle") \
1763 wasm_i64x2_shuffle(__a, __b, __c0, __c1)
1764
1765// Relaxed SIMD intrinsics
1766
1767#define __RELAXED_FN_ATTRS \
1768 __attribute__((__always_inline__, __nodebug__, __target__("relaxed-simd"), \
1769 __min_vector_width__(128)))
1770
1771static __inline__ v128_t __RELAXED_FN_ATTRS
1772wasm_f32x4_relaxed_madd(v128_t __a, v128_t __b, v128_t __c) {
1773 return (v128_t)__builtin_wasm_relaxed_madd_f32x4((__f32x4)__a, (__f32x4)__b,
1774 (__f32x4)__c);
1775}
1776
1777static __inline__ v128_t __RELAXED_FN_ATTRS
1778wasm_f32x4_relaxed_nmadd(v128_t __a, v128_t __b, v128_t __c) {
1779 return (v128_t)__builtin_wasm_relaxed_nmadd_f32x4((__f32x4)__a, (__f32x4)__b,
1780 (__f32x4)__c);
1781}
1782
1783static __inline__ v128_t __RELAXED_FN_ATTRS
1784wasm_f64x2_relaxed_madd(v128_t __a, v128_t __b, v128_t __c) {
1785 return (v128_t)__builtin_wasm_relaxed_madd_f64x2((__f64x2)__a, (__f64x2)__b,
1786 (__f64x2)__c);
1787}
1788
1789static __inline__ v128_t __RELAXED_FN_ATTRS
1790wasm_f64x2_relaxed_nmadd(v128_t __a, v128_t __b, v128_t __c) {
1791 return (v128_t)__builtin_wasm_relaxed_nmadd_f64x2((__f64x2)__a, (__f64x2)__b,
1792 (__f64x2)__c);
1793}
1794
1795static __inline__ v128_t __RELAXED_FN_ATTRS
1796wasm_i8x16_relaxed_laneselect(v128_t __a, v128_t __b, v128_t __m) {
1797 return (v128_t)__builtin_wasm_relaxed_laneselect_i8x16(
1798 (__i8x16)__a, (__i8x16)__b, (__i8x16)__m);
1799}
1800
1801static __inline__ v128_t __RELAXED_FN_ATTRS
1802wasm_i16x8_relaxed_laneselect(v128_t __a, v128_t __b, v128_t __m) {
1803 return (v128_t)__builtin_wasm_relaxed_laneselect_i16x8(
1804 (__i16x8)__a, (__i16x8)__b, (__i16x8)__m);
1805}
1806
1807static __inline__ v128_t __RELAXED_FN_ATTRS
1808wasm_i32x4_relaxed_laneselect(v128_t __a, v128_t __b, v128_t __m) {
1809 return (v128_t)__builtin_wasm_relaxed_laneselect_i32x4(
1810 (__i32x4)__a, (__i32x4)__b, (__i32x4)__m);
1811}
1812
1813static __inline__ v128_t __RELAXED_FN_ATTRS
1814wasm_i64x2_relaxed_laneselect(v128_t __a, v128_t __b, v128_t __m) {
1815 return (v128_t)__builtin_wasm_relaxed_laneselect_i64x2(
1816 (__i64x2)__a, (__i64x2)__b, (__i64x2)__m);
1817}
1818
1819static __inline__ v128_t __RELAXED_FN_ATTRS
1820wasm_i8x16_relaxed_swizzle(v128_t __a, v128_t __s) {
1821 return (v128_t)__builtin_wasm_relaxed_swizzle_i8x16((__i8x16)__a,
1822 (__i8x16)__s);
1823}
1824
1825static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f32x4_relaxed_min(v128_t __a,
1826 v128_t __b) {
1827 return (v128_t)__builtin_wasm_relaxed_min_f32x4((__f32x4)__a, (__f32x4)__b);
1828}
1829
1830static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f32x4_relaxed_max(v128_t __a,
1831 v128_t __b) {
1832 return (v128_t)__builtin_wasm_relaxed_max_f32x4((__f32x4)__a, (__f32x4)__b);
1833}
1834
1835static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f64x2_relaxed_min(v128_t __a,
1836 v128_t __b) {
1837 return (v128_t)__builtin_wasm_relaxed_min_f64x2((__f64x2)__a, (__f64x2)__b);
1838}
1839
1840static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f64x2_relaxed_max(v128_t __a,
1841 v128_t __b) {
1842 return (v128_t)__builtin_wasm_relaxed_max_f64x2((__f64x2)__a, (__f64x2)__b);
1843}
1844
1845static __inline__ v128_t __RELAXED_FN_ATTRS
1847 return (v128_t)__builtin_wasm_relaxed_trunc_s_i32x4_f32x4((__f32x4)__a);
1848}
1849
1850static __inline__ v128_t __RELAXED_FN_ATTRS
1852 return (v128_t)__builtin_wasm_relaxed_trunc_u_i32x4_f32x4((__f32x4)__a);
1853}
1854
1855static __inline__ v128_t __RELAXED_FN_ATTRS
1857 return (v128_t)__builtin_wasm_relaxed_trunc_s_zero_i32x4_f64x2((__f64x2)__a);
1858}
1859
1860static __inline__ v128_t __RELAXED_FN_ATTRS
1862 return (v128_t)__builtin_wasm_relaxed_trunc_u_zero_i32x4_f64x2((__f64x2)__a);
1863}
1864
1865static __inline__ v128_t __RELAXED_FN_ATTRS
1867 return (v128_t)__builtin_wasm_relaxed_q15mulr_s_i16x8((__i16x8)__a,
1868 (__i16x8)__b);
1869}
1870
1871static __inline__ v128_t __RELAXED_FN_ATTRS
1873 return (v128_t)__builtin_wasm_relaxed_dot_i8x16_i7x16_s_i16x8((__i8x16)__a,
1874 (__i8x16)__b);
1875}
1876
1877static __inline__ v128_t __RELAXED_FN_ATTRS
1879 return (v128_t)__builtin_wasm_relaxed_dot_i8x16_i7x16_add_s_i32x4(
1880 (__i8x16)__a, (__i8x16)__b, (__i32x4)__c);
1881}
1882
1883// FP16 intrinsics
1884#define __FP16_FN_ATTRS \
1885 __attribute__((__always_inline__, __nodebug__, __target__("fp16"), \
1886 __min_vector_width__(128)))
1887
1888static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_splat(float __a) {
1889 return (v128_t)__builtin_wasm_splat_f16x8(__a);
1890}
1891
1892#ifdef __wasm_fp16__
1893// TODO Replace the following macros with regular C functions and use normal
1894// target-independent vector code like the other replace/extract instructions.
1895
1896#define wasm_f16x8_extract_lane(__a, __i) \
1897 (__builtin_wasm_extract_lane_f16x8((__f16x8)(__a), __i))
1898
1899#define wasm_f16x8_replace_lane(__a, __i, __b) \
1900 ((v128_t)__builtin_wasm_replace_lane_f16x8((__f16x8)(__a), __i, __b))
1901
1902#endif
1903
1904static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_abs(v128_t __a) {
1905 return (v128_t)__builtin_wasm_abs_f16x8((__f16x8)__a);
1906}
1907
1908static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_neg(v128_t __a) {
1909 return (v128_t)(-(__f16x8)__a);
1910}
1911
1912static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_sqrt(v128_t __a) {
1913 return (v128_t)__builtin_wasm_sqrt_f16x8((__f16x8)__a);
1914}
1915
1916static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_ceil(v128_t __a) {
1917 return (v128_t)__builtin_wasm_ceil_f16x8((__f16x8)__a);
1918}
1919
1920static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_floor(v128_t __a) {
1921 return (v128_t)__builtin_wasm_floor_f16x8((__f16x8)__a);
1922}
1923
1924static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_trunc(v128_t __a) {
1925 return (v128_t)__builtin_wasm_trunc_f16x8((__f16x8)__a);
1926}
1927
1928static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_nearest(v128_t __a) {
1929 return (v128_t)__builtin_wasm_nearest_f16x8((__f16x8)__a);
1930}
1931
1932static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_eq(v128_t __a, v128_t __b) {
1933 return (v128_t)((__f16x8)__a == (__f16x8)__b);
1934}
1935
1936static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_ne(v128_t __a, v128_t __b) {
1937 return (v128_t)((__f16x8)__a != (__f16x8)__b);
1938}
1939
1940static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_lt(v128_t __a, v128_t __b) {
1941 return (v128_t)((__f16x8)__a < (__f16x8)__b);
1942}
1943
1944static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_gt(v128_t __a, v128_t __b) {
1945 return (v128_t)((__f16x8)__a > (__f16x8)__b);
1946}
1947
1948static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_le(v128_t __a, v128_t __b) {
1949 return (v128_t)((__f16x8)__a <= (__f16x8)__b);
1950}
1951
1952static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_ge(v128_t __a, v128_t __b) {
1953 return (v128_t)((__f16x8)__a >= (__f16x8)__b);
1954}
1955
1956static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_add(v128_t __a,
1957 v128_t __b) {
1958 return (v128_t)((__f16x8)__a + (__f16x8)__b);
1959}
1960
1961static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_sub(v128_t __a,
1962 v128_t __b) {
1963 return (v128_t)((__f16x8)__a - (__f16x8)__b);
1964}
1965
1966static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_mul(v128_t __a,
1967 v128_t __b) {
1968 return (v128_t)((__f16x8)__a * (__f16x8)__b);
1969}
1970
1971static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_div(v128_t __a,
1972 v128_t __b) {
1973 return (v128_t)((__f16x8)__a / (__f16x8)__b);
1974}
1975
1976static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_min(v128_t __a,
1977 v128_t __b) {
1978 return (v128_t)__builtin_wasm_min_f16x8((__f16x8)__a, (__f16x8)__b);
1979}
1980
1981static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_max(v128_t __a,
1982 v128_t __b) {
1983 return (v128_t)__builtin_wasm_max_f16x8((__f16x8)__a, (__f16x8)__b);
1984}
1985
1986static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_pmin(v128_t __a,
1987 v128_t __b) {
1988 return (v128_t)__builtin_wasm_pmin_f16x8((__f16x8)__a, (__f16x8)__b);
1989}
1990
1991static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_pmax(v128_t __a,
1992 v128_t __b) {
1993 return (v128_t)__builtin_wasm_pmax_f16x8((__f16x8)__a, (__f16x8)__b);
1994}
1995
1996static __inline__ v128_t __FP16_FN_ATTRS
1998 return (v128_t)__builtin_wasm_trunc_saturate_s_i16x8_f16x8((__f16x8)__a);
1999}
2000
2001static __inline__ v128_t __FP16_FN_ATTRS
2003 return (v128_t)__builtin_wasm_trunc_saturate_u_i16x8_f16x8((__f16x8)__a);
2004}
2005
2006static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_convert_i16x8(v128_t __a) {
2007 return (v128_t) __builtin_convertvector((__i16x8)__a, __f16x8);
2008}
2009
2010static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_convert_u16x8(v128_t __a) {
2011 return (v128_t) __builtin_convertvector((__u16x8)__a, __f16x8);
2012}
2013
2014static __inline__ v128_t __FP16_FN_ATTRS
2016 return (v128_t) __builtin_convertvector(
2017 (__f16x4){((__f16x8)__a)[0], ((__f16x8)__a)[1], ((__f16x8)__a)[2],
2018 ((__f16x8)__a)[3]},
2019 __f32x4);
2020}
2021
2022static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_relaxed_madd(v128_t __a,
2023 v128_t __b,
2024 v128_t __c) {
2025 return (v128_t)__builtin_wasm_relaxed_madd_f16x8((__f16x8)__a, (__f16x8)__b,
2026 (__f16x8)__c);
2027}
2028
2029static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_relaxed_nmadd(v128_t __a,
2030 v128_t __b,
2031 v128_t __c) {
2032 return (v128_t)__builtin_wasm_relaxed_nmadd_f16x8((__f16x8)__a, (__f16x8)__b,
2033 (__f16x8)__c);
2034}
2035
2036// Deprecated intrinsics
2037
2038static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i8x16_swizzle")
2039wasm_v8x16_swizzle(v128_t __a, v128_t __b) {
2040 return wasm_i8x16_swizzle(__a, __b);
2041}
2042
2043static __inline__ bool __DEPRECATED_FN_ATTRS("wasm_v128_any_true")
2044wasm_i8x16_any_true(v128_t __a) {
2045 return wasm_v128_any_true(__a);
2046}
2047
2048static __inline__ bool __DEPRECATED_FN_ATTRS("wasm_v128_any_true")
2049wasm_i16x8_any_true(v128_t __a) {
2050 return wasm_v128_any_true(__a);
2051}
2052
2053static __inline__ bool __DEPRECATED_FN_ATTRS("wasm_v128_any_true")
2054wasm_i32x4_any_true(v128_t __a) {
2055 return wasm_v128_any_true(__a);
2056}
2057
2058static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i8x16_add_sat")
2059wasm_i8x16_add_saturate(v128_t __a, v128_t __b) {
2060 return wasm_i8x16_add_sat(__a, __b);
2061}
2062
2063static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u8x16_add_sat")
2064wasm_u8x16_add_saturate(v128_t __a, v128_t __b) {
2065 return wasm_u8x16_add_sat(__a, __b);
2066}
2067
2068static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i8x16_sub_sat")
2069wasm_i8x16_sub_saturate(v128_t __a, v128_t __b) {
2070 return wasm_i8x16_sub_sat(__a, __b);
2071}
2072
2073static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u8x16_sub_sat")
2074wasm_u8x16_sub_saturate(v128_t __a, v128_t __b) {
2075 return wasm_u8x16_sub_sat(__a, __b);
2076}
2077
2078static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_add_sat")
2079wasm_i16x8_add_saturate(v128_t __a, v128_t __b) {
2080 return wasm_i16x8_add_sat(__a, __b);
2081}
2082
2083static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_add_sat")
2084wasm_u16x8_add_saturate(v128_t __a, v128_t __b) {
2085 return wasm_u16x8_add_sat(__a, __b);
2086}
2087
2088static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_sub_sat")
2089wasm_i16x8_sub_saturate(v128_t __a, v128_t __b) {
2090 return wasm_i16x8_sub_sat(__a, __b);
2091}
2092
2093static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_sub_sat")
2094wasm_u16x8_sub_saturate(v128_t __a, v128_t __b) {
2095 return wasm_u16x8_sub_sat(__a, __b);
2096}
2097
2098static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_extend_low_i8x16")
2099wasm_i16x8_widen_low_i8x16(v128_t __a) {
2101}
2102
2103static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_extend_high_i8x16")
2104wasm_i16x8_widen_high_i8x16(v128_t __a) {
2106}
2107
2108static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_extend_low_u8x16")
2109wasm_i16x8_widen_low_u8x16(v128_t __a) {
2111}
2112
2113static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_extend_high_u8x16")
2114wasm_i16x8_widen_high_u8x16(v128_t __a) {
2116}
2117
2118static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i32x4_extend_low_i16x8")
2119wasm_i32x4_widen_low_i16x8(v128_t __a) {
2121}
2122
2123static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i32x4_extend_high_i16x8")
2124wasm_i32x4_widen_high_i16x8(v128_t __a) {
2126}
2127
2128static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u32x4_extend_low_u16x8")
2129wasm_i32x4_widen_low_u16x8(v128_t __a) {
2131}
2132
2133static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u32x4_extend_high_u16x8")
2134wasm_i32x4_widen_high_u16x8(v128_t __a) {
2136}
2137
2138static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i32x4_trunc_sat_f32x4")
2139wasm_i32x4_trunc_saturate_f32x4(v128_t __a) {
2141}
2142
2143static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u32x4_trunc_sat_f32x4")
2144wasm_u32x4_trunc_saturate_f32x4(v128_t __a) {
2146}
2147
2148// Undefine helper macros
2149#undef __DEFAULT_FN_ATTRS
2150#undef __DEPRECATED_FN_ATTRS
2151
2152#endif // __WASM_SIMD128_H
#define __DEFAULT_FN_ATTRS
static __inline__ vector float vector float vector float __c
Definition altivec.h:4800
static __inline__ vector float vector float __b
Definition altivec.h:578
return __v
Definition arm_acle.h:88
#define __RELAXED_FN_ATTRS
Definition bmiintrin.h:24
static __inline__ void int __a
Definition emmintrin.h:4077
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_swizzle(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_floor(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_le(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_sub_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_popcnt(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_shr(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_max(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_ceil(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_pmax(v128_t __a, v128_t __b)
int32_t v128_t __attribute__((__vector_size__(16), __aligned__(16)))
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_nearest(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_mul(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_abs(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_shl(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_extmul_high_u8x16(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_splat(float __a)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_gt(v128_t __a, v128_t __b)
static __inline__ bool __DEFAULT_FN_ATTRS wasm_v128_any_true(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_make(float __c0, float __c1, float __c2, float __c3)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_const_splat(int8_t __c) __REQUIRE_CONSTANT(__c)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i32x4_relaxed_laneselect(v128_t __a, v128_t __b, v128_t __m)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_extadd_pairwise_u16x8(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_trunc(v128_t __a)
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store16_lane(void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_load8x8(const void *__mem)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_andnot(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_const(uint16_t __c0, uint16_t __c1, uint16_t __c2, uint16_t __c3, uint16_t __c4, uint16_t __c5, uint16_t __c6, uint16_t __c7) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2) __REQUIRE_CONSTANT(__c3) __REQUIRE_CONSTANT(__c4) __REQUIRE_CONSTANT(__c5) __REQUIRE_CONSTANT(__c6) __REQUIRE_CONSTANT(__c7)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_replace_lane(v128_t __a, int __i, int32_t __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_add(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_abs(v128_t __a)
static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_i8x16_bitmask(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_const(int8_t __c0, int8_t __c1, int8_t __c2, int8_t __c3, int8_t __c4, int8_t __c5, int8_t __c6, int8_t __c7, int8_t __c8, int8_t __c9, int8_t __c10, int8_t __c11, int8_t __c12, int8_t __c13, int8_t __c14, int8_t __c15) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2) __REQUIRE_CONSTANT(__c3) __REQUIRE_CONSTANT(__c4) __REQUIRE_CONSTANT(__c5) __REQUIRE_CONSTANT(__c6) __REQUIRE_CONSTANT(__c7) __REQUIRE_CONSTANT(__c8) __REQUIRE_CONSTANT(__c9) __REQUIRE_CONSTANT(__c10) __REQUIRE_CONSTANT(__c11) __REQUIRE_CONSTANT(__c12) __REQUIRE_CONSTANT(__c13) __REQUIRE_CONSTANT(__c14) __REQUIRE_CONSTANT(__c15)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_lt(v128_t __a, v128_t __b)
static __inline__ uint8_t __DEFAULT_FN_ATTRS wasm_u8x16_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_i32x4_bitmask(v128_t __a)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_mul(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load(const void *__mem)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f32x4_relaxed_nmadd(v128_t __a, v128_t __b, v128_t __c)
static __inline__ float __DEFAULT_FN_ATTRS wasm_f32x4_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_neg(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_neg(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_const_splat(uint16_t __c) __REQUIRE_CONSTANT(__c)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_relaxed_madd(v128_t __a, v128_t __b, v128_t __c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_eq(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_shr(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_shr(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_promote_low_f32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_const_splat(float __c) __REQUIRE_CONSTANT(__c)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_convert_u16x8(v128_t __a)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_trunc(v128_t __a)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_u32x4_relaxed_trunc_f32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_neg(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_replace_lane(v128_t __a, int __i, uint8_t __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_le(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_sub(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_sub_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_extend_high_i16x8(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_neg(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_extend_low_u16x8(v128_t __a)
#define __DEPRECATED_FN_ATTRS(__replacement)
static __inline__ double __DEFAULT_FN_ATTRS wasm_f64x2_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_make(uint32_t __c0, uint32_t __c1, uint32_t __c2, uint32_t __c3)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_ge(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_add(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_lt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_le(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_eq(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_make(int32_t __c0, int32_t __c1, int32_t __c2, int32_t __c3)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_shr(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_shr(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_trunc(v128_t __a)
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store32_lane(void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_extmul_high_u32x4(v128_t __a, v128_t __b)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f64x2_relaxed_nmadd(v128_t __a, v128_t __b, v128_t __c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_mul(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_abs(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_q15mulr_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_ceil(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_const(double __c0, double __c1) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_add(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_make(int8_t __c0, int8_t __c1, int8_t __c2, int8_t __c3, int8_t __c4, int8_t __c5, int8_t __c6, int8_t __c7, int8_t __c8, int8_t __c9, int8_t __c10, int8_t __c11, int8_t __c12, int8_t __c13, int8_t __c14, int8_t __c15)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_sub(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_const_splat(int64_t __c) __REQUIRE_CONSTANT(__c)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i32x4_relaxed_trunc_f64x2_zero(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_extmul_low_u32x4(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load64_lane(const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_convert_low_u32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_replace_lane(v128_t __a, int __i, int64_t __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_ne(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_load32x2(const void *__mem)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_div(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_extend_low_u8x16(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_extmul_high_u16x8(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_eq(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_floor(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_replace_lane(v128_t __a, int __i, uint64_t __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_abs(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load64_zero(const void *__mem)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_narrow_i16x8(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_lt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_sqrt(v128_t __a)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_add(v128_t __a, v128_t __b)
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i8x16_all_true(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_extmul_low_u16x8(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_nearest(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_shl(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_extend_high_i32x4(v128_t __a)
static __inline__ v128_t __FP16_FN_ATTRS wasm_i16x8_trunc_sat_f16x8(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load16_splat(const void *__mem)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_convert_u32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_extend_high_u8x16(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_load32x2(const void *__mem)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_replace_lane(v128_t __a, int __i, double __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_add_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_shr(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_ne(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_extmul_high_i32x4(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_splat(float __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_le(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_and(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_min(v128_t __a, v128_t __b)
#define __REQUIRE_CONSTANT(c)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_abs(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_extadd_pairwise_u8x16(v128_t __a)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i8x16_relaxed_swizzle(v128_t __a, v128_t __s)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_convert_i32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_ge(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_convert_low_i32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_ge(v128_t __a, v128_t __b)
#define __FP16_FN_ATTRS
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_extmul_high_i8x16(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_le(v128_t __a, v128_t __b)
static __inline__ int32_t __DEFAULT_FN_ATTRS wasm_i32x4_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_const_splat(uint64_t __c) __REQUIRE_CONSTANT(__c)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i8x16_relaxed_laneselect(v128_t __a, v128_t __b, v128_t __m)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_lt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_sub(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_sqrt(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load32_zero(const void *__mem)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_ge(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_mul(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load32_splat(const void *__mem)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f32x4_promote_low_f16x8(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_lt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_le(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_const(float __c0, float __c1, float __c2, float __c3) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2) __REQUIRE_CONSTANT(__c3)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_sqrt(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_sub_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_extend_low_u32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load64_splat(const void *__mem)
static __inline__ int16_t __DEFAULT_FN_ATTRS wasm_i16x8_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_ge(v128_t __a, v128_t __b)
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i64x2_all_true(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_or(v128_t __a, v128_t __b)
static __inline__ uint16_t __DEFAULT_FN_ATTRS wasm_u16x8_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_sub(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_add(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f32x4_relaxed_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_lt(v128_t __a, v128_t __b)
static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_i64x2_bitmask(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_le(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load16_lane(const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load32_lane(const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_extend_low_i32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_neg(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_narrow_i32x4(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_splat(uint8_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_extmul_low_i32x4(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_splat(uint32_t __a)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_neg(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_const_splat(uint8_t __c) __REQUIRE_CONSTANT(__c)
static __inline__ int8_t __DEFAULT_FN_ATTRS wasm_i8x16_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_const(uint64_t __c0, uint64_t __c1) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_splat(double __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_shr(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_ge(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_mul(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_shr(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_trunc_sat_f64x2_zero(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load8_lane(const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_ne(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_replace_lane(v128_t __a, int __i, float __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_extend_high_u16x8(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_ge(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_narrow_i16x8(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_shl(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_splat(int64_t __a)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f64x2_relaxed_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_dot_i16x8(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_load8x8(const void *__mem)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i16x8_relaxed_laneselect(v128_t __a, v128_t __b, v128_t __m)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_lt(v128_t __a, v128_t __b)
static __inline__ uint64_t __DEFAULT_FN_ATTRS wasm_u64x2_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i16x8_relaxed_dot_i8x16_i7x16(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_pmin(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_replace_lane(v128_t __a, int __i, uint32_t __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_eq(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_demote_f64x2_zero(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_make(uint8_t __c0, uint8_t __c1, uint8_t __c2, uint8_t __c3, uint8_t __c4, uint8_t __c5, uint8_t __c6, uint8_t __c7, uint8_t __c8, uint8_t __c9, uint8_t __c10, uint8_t __c11, uint8_t __c12, uint8_t __c13, uint8_t __c14, uint8_t __c15)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_extend_high_u32x4(v128_t __a)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_relaxed_nmadd(v128_t __a, v128_t __b, v128_t __c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_le(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_extadd_pairwise_i16x8(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_extend_low_i8x16(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_add_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_shl(v128_t __a, uint32_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_sub(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_make(uint64_t __c0, uint64_t __c1)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_lt(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_ne(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_load16x4(const void *__mem)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_const(int16_t __c0, int16_t __c1, int16_t __c2, int16_t __c3, int16_t __c4, int16_t __c5, int16_t __c6, int16_t __c7) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2) __REQUIRE_CONSTANT(__c3) __REQUIRE_CONSTANT(__c4) __REQUIRE_CONSTANT(__c5) __REQUIRE_CONSTANT(__c6) __REQUIRE_CONSTANT(__c7)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_eq(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_le(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_eq(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_add(v128_t __a, v128_t __b)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_u32x4_relaxed_trunc_f64x2_zero(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_sub(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_trunc_sat_f64x2_zero(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_pmax(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_extmul_low_i8x16(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_nearest(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_ge(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_div(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_ne(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_add(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_floor(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_pmax(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_lt(v128_t __a, v128_t __b)
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store(void *__mem, v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_splat(int16_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_extadd_pairwise_i8x16(v128_t __a)
static __inline__ int64_t __DEFAULT_FN_ATTRS wasm_i64x2_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_const(uint8_t __c0, uint8_t __c1, uint8_t __c2, uint8_t __c3, uint8_t __c4, uint8_t __c5, uint8_t __c6, uint8_t __c7, uint8_t __c8, uint8_t __c9, uint8_t __c10, uint8_t __c11, uint8_t __c12, uint8_t __c13, uint8_t __c14, uint8_t __c15) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2) __REQUIRE_CONSTANT(__c3) __REQUIRE_CONSTANT(__c4) __REQUIRE_CONSTANT(__c5) __REQUIRE_CONSTANT(__c6) __REQUIRE_CONSTANT(__c7) __REQUIRE_CONSTANT(__c8) __REQUIRE_CONSTANT(__c9) __REQUIRE_CONSTANT(__c10) __REQUIRE_CONSTANT(__c11) __REQUIRE_CONSTANT(__c12) __REQUIRE_CONSTANT(__c13) __REQUIRE_CONSTANT(__c14) __REQUIRE_CONSTANT(__c15)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_const_splat(double __c) __REQUIRE_CONSTANT(__c)
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store8_lane(void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_avgr(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_ceil(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_neg(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u64x2_splat(uint64_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_ge(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_const_splat(uint32_t __c) __REQUIRE_CONSTANT(__c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_replace_lane(v128_t __a, int __i, int8_t __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_splat(int8_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_xor(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_le(v128_t __a, v128_t __b)
static __inline__ v128_t __FP16_FN_ATTRS wasm_u16x8_trunc_sat_f16x8(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_sub_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_eq(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_ne(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_not(v128_t __a)
static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_i16x8_bitmask(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_make(double __c0, double __c1)
static __inline__ uint32_t __DEFAULT_FN_ATTRS wasm_u32x4_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i32x4_relaxed_dot_i8x16_i7x16_add(v128_t __a, v128_t __b, v128_t __c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_abs(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_div(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_ne(v128_t __a, v128_t __b)
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i32x4_all_true(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_add_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f32x4_relaxed_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_extend_high_i8x16(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_const(int64_t __c0, int64_t __c1) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_load16x4(const void *__mem)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_min(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_sub(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_extend_low_i16x8(v128_t __a)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i32x4_relaxed_trunc_f32x4(v128_t __a)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_convert_i16x8(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_replace_lane(v128_t __a, int __i, int16_t __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f64x2_relaxed_max(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f64x2_relaxed_madd(v128_t __a, v128_t __b, v128_t __c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_ge(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_splat(uint16_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_abs(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_mul(v128_t __a, v128_t __b)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i64x2_relaxed_laneselect(v128_t __a, v128_t __b, v128_t __m)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_make(uint16_t __c0, uint16_t __c1, uint16_t __c2, uint16_t __c3, uint16_t __c4, uint16_t __c5, uint16_t __c6, uint16_t __c7)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_i16x8_relaxed_q15mulr(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_extmul_low_i16x8(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load8_splat(const void *__mem)
static __inline__ v128_t __RELAXED_FN_ATTRS wasm_f32x4_relaxed_madd(v128_t __a, v128_t __b, v128_t __c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_const_splat(int16_t __c) __REQUIRE_CONSTANT(__c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_narrow_i32x4(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_const(int32_t __c0, int32_t __c1, int32_t __c2, int32_t __c3) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2) __REQUIRE_CONSTANT(__c3)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_gt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_extmul_low_u8x16(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_add_sat(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_const_splat(int32_t __c) __REQUIRE_CONSTANT(__c)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_avgr(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_replace_lane(v128_t __a, int __i, uint16_t __b) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_lt(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_trunc_sat_f32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_extmul_high_i16x8(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_make(int16_t __c0, int16_t __c1, int16_t __c2, int16_t __c3, int16_t __c4, int16_t __c5, int16_t __c6, int16_t __c7)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_bitselect(v128_t __a, v128_t __b, v128_t __mask)
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_pmin(v128_t __a, v128_t __b)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_make(int64_t __c0, int64_t __c1)
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i16x8_all_true(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_const(uint32_t __c0, uint32_t __c1, uint32_t __c2, uint32_t __c3) __REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2) __REQUIRE_CONSTANT(__c3)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_trunc_sat_f32x4(v128_t __a)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_pmin(v128_t __a, v128_t __b)
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store64_lane(void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i)
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_splat(int32_t __a)