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