@cpp-linter/clang-tidy-win32-x64 12.0.1 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_device_functions.h +174 -102
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_runtime_wrapper.h +6 -1
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_cmath.h +272 -94
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_libdevice_declares.h +24 -12
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_math.h +48 -2
- package/lib/clang/13.0.0/include/__clang_hip_runtime_wrapper.h +124 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/altivec.h +1165 -423
- package/lib/clang/{12.0.1 → 13.0.0}/include/amxintrin.h +234 -19
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm_acle.h +55 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm_neon.h +1077 -165
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm_sve.h +11791 -5896
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512fintrin.h +177 -37
- package/lib/clang/13.0.0/include/builtins.h +16 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/complex +8 -0
- package/lib/clang/13.0.0/include/hexagon_circ_brev_intrinsics.h +298 -0
- package/lib/clang/13.0.0/include/hexagon_protos.h +8450 -0
- package/lib/clang/13.0.0/include/hexagon_types.h +2653 -0
- package/lib/clang/13.0.0/include/hvx_hexagon_protos.h +4392 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/intrin.h +44 -8
- package/lib/clang/{12.0.1 → 13.0.0}/include/keylockerintrin.h +30 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c-base.h +144 -3
- package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c.h +505 -355
- package/lib/clang/13.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/cmath +54 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex +1 -7
- package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex.h +0 -1
- package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/new +2 -24
- package/lib/clang/13.0.0/include/riscv_vector.h +123865 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/uintrintrin.h +7 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/vaesintrin.h +21 -20
- package/lib/clang/{12.0.1 → 13.0.0}/include/vecintrin.h +206 -77
- package/lib/clang/{12.0.1 → 13.0.0}/include/vpclmulqdqintrin.h +2 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/wasm_simd128.h +806 -239
- package/package.json +6 -6
- package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
- package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_cmath.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_complex_builtins.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_intrinsics.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_libdevice_declares.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math.h +2 -2
- package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/__stddef_max_align_t.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_aes.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_pclmul.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/adxintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/ammintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm64intr.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm_bf16.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cde.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cmse.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm_fp16.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/arm_mve.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/armintr.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx2intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bf16intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bitalgintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bwintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512cdintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512dqintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512erintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmaintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmavlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512pfintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmi2intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmiintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmivlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbf16intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbitalgintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbwintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlcdintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vldqintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvbmi2intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvnniintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vnniintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vp2intersectintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avxintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/avxvnniintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/bmi2intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/bmiintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/cet.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/cetintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/cldemoteintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/clflushoptintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/clwbintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/clzerointrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/cpuid.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/algorithm +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/new +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/emmintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/enqcmdintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/f16cintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/float.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/fma4intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/fmaintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/fxsrintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/gfniintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/hresetintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/htmintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/htmxlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/ia32intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.0}/include/immintrin.h +5 -5
- /package/lib/clang/{12.0.1 → 13.0.0}/include/inttypes.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/iso646.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/limits.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/lwpintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/mm3dnow.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/mm_malloc.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/mmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/module.modulemap +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/movdirintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/msa.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/nmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/pkuintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/pmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/popcntintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/rtmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/s390intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/serializeintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/sgxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/shaintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/smmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/stdalign.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/stdarg.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/stdatomic.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/stdbool.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/stddef.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/stdint.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/tbmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/tgmath.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/tmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/unwind.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/vadefs.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/varargs.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/wmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/x86gprintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/x86intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/xmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/xopintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.0}/include/xtestintrin.h +0 -0
|
@@ -40,13 +40,18 @@ typedef unsigned char __u8x8
|
|
|
40
40
|
typedef short __i16x4 __attribute__((__vector_size__(8), __aligned__(8)));
|
|
41
41
|
typedef unsigned short __u16x4
|
|
42
42
|
__attribute__((__vector_size__(8), __aligned__(8)));
|
|
43
|
+
typedef int __i32x2 __attribute__((__vector_size__(8), __aligned__(8)));
|
|
44
|
+
typedef unsigned int __u32x2
|
|
45
|
+
__attribute__((__vector_size__(8), __aligned__(8)));
|
|
46
|
+
typedef float __f32x2 __attribute__((__vector_size__(8), __aligned__(8)));
|
|
43
47
|
|
|
44
48
|
#define __DEFAULT_FN_ATTRS \
|
|
45
49
|
__attribute__((__always_inline__, __nodebug__, __target__("simd128"), \
|
|
46
50
|
__min_vector_width__(128)))
|
|
47
51
|
|
|
48
|
-
#define __REQUIRE_CONSTANT(
|
|
49
|
-
|
|
52
|
+
#define __REQUIRE_CONSTANT(c) \
|
|
53
|
+
__attribute__((__diagnose_if__(!__builtin_constant_p(c), \
|
|
54
|
+
#c " must be constant", "error")))
|
|
50
55
|
|
|
51
56
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load(const void *__mem) {
|
|
52
57
|
// UB-free unaligned access copied from xmmintrin.h
|
|
@@ -57,102 +62,158 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load(const void *__mem) {
|
|
|
57
62
|
}
|
|
58
63
|
|
|
59
64
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
60
|
-
|
|
61
|
-
struct
|
|
65
|
+
wasm_v128_load8_splat(const void *__mem) {
|
|
66
|
+
struct __wasm_v128_load8_splat_struct {
|
|
62
67
|
uint8_t __v;
|
|
63
68
|
} __attribute__((__packed__, __may_alias__));
|
|
64
|
-
uint8_t __v = ((const struct
|
|
69
|
+
uint8_t __v = ((const struct __wasm_v128_load8_splat_struct *)__mem)->__v;
|
|
65
70
|
return (v128_t)(__u8x16){__v, __v, __v, __v, __v, __v, __v, __v,
|
|
66
71
|
__v, __v, __v, __v, __v, __v, __v, __v};
|
|
67
72
|
}
|
|
68
73
|
|
|
69
74
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
70
|
-
|
|
71
|
-
struct
|
|
75
|
+
wasm_v128_load16_splat(const void *__mem) {
|
|
76
|
+
struct __wasm_v128_load16_splat_struct {
|
|
72
77
|
uint16_t __v;
|
|
73
78
|
} __attribute__((__packed__, __may_alias__));
|
|
74
|
-
uint16_t __v = ((const struct
|
|
79
|
+
uint16_t __v = ((const struct __wasm_v128_load16_splat_struct *)__mem)->__v;
|
|
75
80
|
return (v128_t)(__u16x8){__v, __v, __v, __v, __v, __v, __v, __v};
|
|
76
81
|
}
|
|
77
82
|
|
|
78
83
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
79
|
-
|
|
80
|
-
struct
|
|
84
|
+
wasm_v128_load32_splat(const void *__mem) {
|
|
85
|
+
struct __wasm_v128_load32_splat_struct {
|
|
81
86
|
uint32_t __v;
|
|
82
87
|
} __attribute__((__packed__, __may_alias__));
|
|
83
|
-
uint32_t __v = ((const struct
|
|
88
|
+
uint32_t __v = ((const struct __wasm_v128_load32_splat_struct *)__mem)->__v;
|
|
84
89
|
return (v128_t)(__u32x4){__v, __v, __v, __v};
|
|
85
90
|
}
|
|
86
91
|
|
|
87
92
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
88
|
-
|
|
89
|
-
struct
|
|
93
|
+
wasm_v128_load64_splat(const void *__mem) {
|
|
94
|
+
struct __wasm_v128_load64_splat_struct {
|
|
90
95
|
uint64_t __v;
|
|
91
96
|
} __attribute__((__packed__, __may_alias__));
|
|
92
|
-
uint64_t __v = ((const struct
|
|
97
|
+
uint64_t __v = ((const struct __wasm_v128_load64_splat_struct *)__mem)->__v;
|
|
93
98
|
return (v128_t)(__u64x2){__v, __v};
|
|
94
99
|
}
|
|
95
100
|
|
|
96
101
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
struct __wasm_i16x8_load_8x8_struct {
|
|
102
|
+
wasm_i16x8_load8x8(const void *__mem) {
|
|
103
|
+
struct __wasm_i16x8_load8x8_struct {
|
|
100
104
|
__i8x8 __v;
|
|
101
105
|
} __attribute__((__packed__, __may_alias__));
|
|
102
|
-
__i8x8 __v = ((const struct
|
|
106
|
+
__i8x8 __v = ((const struct __wasm_i16x8_load8x8_struct *)__mem)->__v;
|
|
103
107
|
return (v128_t) __builtin_convertvector(__v, __i16x8);
|
|
104
108
|
}
|
|
105
109
|
|
|
106
110
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
struct __wasm_u16x8_load_8x8_struct {
|
|
111
|
+
wasm_u16x8_load8x8(const void *__mem) {
|
|
112
|
+
struct __wasm_u16x8_load8x8_struct {
|
|
110
113
|
__u8x8 __v;
|
|
111
114
|
} __attribute__((__packed__, __may_alias__));
|
|
112
|
-
__u8x8 __v = ((const struct
|
|
115
|
+
__u8x8 __v = ((const struct __wasm_u16x8_load8x8_struct *)__mem)->__v;
|
|
113
116
|
return (v128_t) __builtin_convertvector(__v, __u16x8);
|
|
114
117
|
}
|
|
115
118
|
|
|
116
119
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
struct __wasm_i32x4_load_16x4_struct {
|
|
120
|
+
wasm_i32x4_load16x4(const void *__mem) {
|
|
121
|
+
struct __wasm_i32x4_load16x4_struct {
|
|
120
122
|
__i16x4 __v;
|
|
121
123
|
} __attribute__((__packed__, __may_alias__));
|
|
122
|
-
__i16x4 __v = ((const struct
|
|
124
|
+
__i16x4 __v = ((const struct __wasm_i32x4_load16x4_struct *)__mem)->__v;
|
|
123
125
|
return (v128_t) __builtin_convertvector(__v, __i32x4);
|
|
124
126
|
}
|
|
125
127
|
|
|
126
128
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
struct __wasm_u32x4_load_16x4_struct {
|
|
129
|
+
wasm_u32x4_load16x4(const void *__mem) {
|
|
130
|
+
struct __wasm_u32x4_load16x4_struct {
|
|
130
131
|
__u16x4 __v;
|
|
131
132
|
} __attribute__((__packed__, __may_alias__));
|
|
132
|
-
__u16x4 __v = ((const struct
|
|
133
|
+
__u16x4 __v = ((const struct __wasm_u32x4_load16x4_struct *)__mem)->__v;
|
|
133
134
|
return (v128_t) __builtin_convertvector(__v, __u32x4);
|
|
134
135
|
}
|
|
135
136
|
|
|
136
137
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
struct __wasm_i64x2_load_32x2_struct {
|
|
138
|
+
wasm_i64x2_load32x2(const void *__mem) {
|
|
139
|
+
struct __wasm_i64x2_load32x2_struct {
|
|
140
140
|
__i32x2 __v;
|
|
141
141
|
} __attribute__((__packed__, __may_alias__));
|
|
142
|
-
__i32x2 __v = ((const struct
|
|
142
|
+
__i32x2 __v = ((const struct __wasm_i64x2_load32x2_struct *)__mem)->__v;
|
|
143
143
|
return (v128_t) __builtin_convertvector(__v, __i64x2);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
struct __wasm_u64x2_load_32x2_struct {
|
|
147
|
+
wasm_u64x2_load32x2(const void *__mem) {
|
|
148
|
+
struct __wasm_u64x2_load32x2_struct {
|
|
150
149
|
__u32x2 __v;
|
|
151
150
|
} __attribute__((__packed__, __may_alias__));
|
|
152
|
-
__u32x2 __v = ((const struct
|
|
151
|
+
__u32x2 __v = ((const struct __wasm_u64x2_load32x2_struct *)__mem)->__v;
|
|
153
152
|
return (v128_t) __builtin_convertvector(__v, __u64x2);
|
|
154
153
|
}
|
|
155
154
|
|
|
155
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
156
|
+
wasm_v128_load32_zero(const void *__mem) {
|
|
157
|
+
struct __wasm_v128_load32_zero_struct {
|
|
158
|
+
int32_t __v;
|
|
159
|
+
} __attribute__((__packed__, __may_alias__));
|
|
160
|
+
int32_t __v = ((const struct __wasm_v128_load32_zero_struct *)__mem)->__v;
|
|
161
|
+
return (v128_t)(__i32x4){__v, 0, 0, 0};
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
165
|
+
wasm_v128_load64_zero(const void *__mem) {
|
|
166
|
+
struct __wasm_v128_load64_zero_struct {
|
|
167
|
+
int64_t __v;
|
|
168
|
+
} __attribute__((__packed__, __may_alias__));
|
|
169
|
+
int64_t __v = ((const struct __wasm_v128_load64_zero_struct *)__mem)->__v;
|
|
170
|
+
return (v128_t)(__i64x2){__v, 0};
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load8_lane(
|
|
174
|
+
const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i) {
|
|
175
|
+
struct __wasm_v128_load8_lane_struct {
|
|
176
|
+
int8_t __v;
|
|
177
|
+
} __attribute__((__packed__, __may_alias__));
|
|
178
|
+
int8_t __v = ((const struct __wasm_v128_load8_lane_struct *)__mem)->__v;
|
|
179
|
+
__i8x16 __ret = (__i8x16)__vec;
|
|
180
|
+
__ret[__i] = __v;
|
|
181
|
+
return (v128_t)__ret;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load16_lane(
|
|
185
|
+
const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i) {
|
|
186
|
+
struct __wasm_v128_load16_lane_struct {
|
|
187
|
+
int16_t __v;
|
|
188
|
+
} __attribute__((__packed__, __may_alias__));
|
|
189
|
+
int16_t __v = ((const struct __wasm_v128_load16_lane_struct *)__mem)->__v;
|
|
190
|
+
__i16x8 __ret = (__i16x8)__vec;
|
|
191
|
+
__ret[__i] = __v;
|
|
192
|
+
return (v128_t)__ret;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load32_lane(
|
|
196
|
+
const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i) {
|
|
197
|
+
struct __wasm_v128_load32_lane_struct {
|
|
198
|
+
int32_t __v;
|
|
199
|
+
} __attribute__((__packed__, __may_alias__));
|
|
200
|
+
int32_t __v = ((const struct __wasm_v128_load32_lane_struct *)__mem)->__v;
|
|
201
|
+
__i32x4 __ret = (__i32x4)__vec;
|
|
202
|
+
__ret[__i] = __v;
|
|
203
|
+
return (v128_t)__ret;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_load64_lane(
|
|
207
|
+
const void *__mem, v128_t __vec, int __i) __REQUIRE_CONSTANT(__i) {
|
|
208
|
+
struct __wasm_v128_load64_lane_struct {
|
|
209
|
+
int64_t __v;
|
|
210
|
+
} __attribute__((__packed__, __may_alias__));
|
|
211
|
+
int64_t __v = ((const struct __wasm_v128_load64_lane_struct *)__mem)->__v;
|
|
212
|
+
__i64x2 __ret = (__i64x2)__vec;
|
|
213
|
+
__ret[__i] = __v;
|
|
214
|
+
return (v128_t)__ret;
|
|
215
|
+
}
|
|
216
|
+
|
|
156
217
|
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store(void *__mem,
|
|
157
218
|
v128_t __a) {
|
|
158
219
|
// UB-free unaligned access copied from xmmintrin.h
|
|
@@ -162,6 +223,49 @@ static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store(void *__mem,
|
|
|
162
223
|
((struct __wasm_v128_store_struct *)__mem)->__v = __a;
|
|
163
224
|
}
|
|
164
225
|
|
|
226
|
+
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store8_lane(void *__mem,
|
|
227
|
+
v128_t __vec,
|
|
228
|
+
int __i)
|
|
229
|
+
__REQUIRE_CONSTANT(__i) {
|
|
230
|
+
struct __wasm_v128_store8_lane_struct {
|
|
231
|
+
int8_t __v;
|
|
232
|
+
} __attribute__((__packed__, __may_alias__));
|
|
233
|
+
((struct __wasm_v128_store8_lane_struct *)__mem)->__v = ((__i8x16)__vec)[__i];
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store16_lane(void *__mem,
|
|
237
|
+
v128_t __vec,
|
|
238
|
+
int __i)
|
|
239
|
+
__REQUIRE_CONSTANT(__i) {
|
|
240
|
+
struct __wasm_v128_store16_lane_struct {
|
|
241
|
+
int16_t __v;
|
|
242
|
+
} __attribute__((__packed__, __may_alias__));
|
|
243
|
+
((struct __wasm_v128_store16_lane_struct *)__mem)->__v =
|
|
244
|
+
((__i16x8)__vec)[__i];
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store32_lane(void *__mem,
|
|
248
|
+
v128_t __vec,
|
|
249
|
+
int __i)
|
|
250
|
+
__REQUIRE_CONSTANT(__i) {
|
|
251
|
+
struct __wasm_v128_store32_lane_struct {
|
|
252
|
+
int32_t __v;
|
|
253
|
+
} __attribute__((__packed__, __may_alias__));
|
|
254
|
+
((struct __wasm_v128_store32_lane_struct *)__mem)->__v =
|
|
255
|
+
((__i32x4)__vec)[__i];
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
static __inline__ void __DEFAULT_FN_ATTRS wasm_v128_store64_lane(void *__mem,
|
|
259
|
+
v128_t __vec,
|
|
260
|
+
int __i)
|
|
261
|
+
__REQUIRE_CONSTANT(__i) {
|
|
262
|
+
struct __wasm_v128_store64_lane_struct {
|
|
263
|
+
int64_t __v;
|
|
264
|
+
} __attribute__((__packed__, __may_alias__));
|
|
265
|
+
((struct __wasm_v128_store64_lane_struct *)__mem)->__v =
|
|
266
|
+
((__i64x2)__vec)[__i];
|
|
267
|
+
}
|
|
268
|
+
|
|
165
269
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
166
270
|
wasm_i8x16_make(int8_t __c0, int8_t __c1, int8_t __c2, int8_t __c3, int8_t __c4,
|
|
167
271
|
int8_t __c5, int8_t __c6, int8_t __c7, int8_t __c8, int8_t __c9,
|
|
@@ -185,6 +289,11 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_make(int32_t __c0,
|
|
|
185
289
|
return (v128_t)(__i32x4){__c0, __c1, __c2, __c3};
|
|
186
290
|
}
|
|
187
291
|
|
|
292
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_make(int64_t __c0,
|
|
293
|
+
int64_t __c1) {
|
|
294
|
+
return (v128_t)(__i64x2){__c0, __c1};
|
|
295
|
+
}
|
|
296
|
+
|
|
188
297
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_make(float __c0,
|
|
189
298
|
float __c1,
|
|
190
299
|
float __c2,
|
|
@@ -192,150 +301,221 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_make(float __c0,
|
|
|
192
301
|
return (v128_t)(__f32x4){__c0, __c1, __c2, __c3};
|
|
193
302
|
}
|
|
194
303
|
|
|
195
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
196
|
-
|
|
304
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_make(double __c0,
|
|
305
|
+
double __c1) {
|
|
306
|
+
return (v128_t)(__f64x2){__c0, __c1};
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
310
|
+
wasm_i8x16_const(int8_t __c0, int8_t __c1, int8_t __c2, int8_t __c3,
|
|
311
|
+
int8_t __c4, int8_t __c5, int8_t __c6, int8_t __c7,
|
|
312
|
+
int8_t __c8, int8_t __c9, int8_t __c10, int8_t __c11,
|
|
313
|
+
int8_t __c12, int8_t __c13, int8_t __c14, int8_t __c15)
|
|
314
|
+
__REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2)
|
|
315
|
+
__REQUIRE_CONSTANT(__c3) __REQUIRE_CONSTANT(__c4)
|
|
316
|
+
__REQUIRE_CONSTANT(__c5) __REQUIRE_CONSTANT(__c6)
|
|
317
|
+
__REQUIRE_CONSTANT(__c7) __REQUIRE_CONSTANT(__c8)
|
|
318
|
+
__REQUIRE_CONSTANT(__c9) __REQUIRE_CONSTANT(__c10)
|
|
319
|
+
__REQUIRE_CONSTANT(__c11) __REQUIRE_CONSTANT(__c12)
|
|
320
|
+
__REQUIRE_CONSTANT(__c13) __REQUIRE_CONSTANT(__c14)
|
|
321
|
+
__REQUIRE_CONSTANT(__c15) {
|
|
322
|
+
return (v128_t)(__i8x16){__c0, __c1, __c2, __c3, __c4, __c5,
|
|
323
|
+
__c6, __c7, __c8, __c9, __c10, __c11,
|
|
324
|
+
__c12, __c13, __c14, __c15};
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
328
|
+
wasm_i16x8_const(int16_t __c0, int16_t __c1, int16_t __c2, int16_t __c3,
|
|
329
|
+
int16_t __c4, int16_t __c5, int16_t __c6, int16_t __c7)
|
|
330
|
+
__REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2)
|
|
331
|
+
__REQUIRE_CONSTANT(__c3) __REQUIRE_CONSTANT(__c4)
|
|
332
|
+
__REQUIRE_CONSTANT(__c5) __REQUIRE_CONSTANT(__c6)
|
|
333
|
+
__REQUIRE_CONSTANT(__c7) {
|
|
334
|
+
return (v128_t)(__i16x8){__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7};
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
338
|
+
wasm_i32x4_const(int32_t __c0, int32_t __c1, int32_t __c2, int32_t __c3)
|
|
339
|
+
__REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2)
|
|
340
|
+
__REQUIRE_CONSTANT(__c3) {
|
|
341
|
+
return (v128_t)(__i32x4){__c0, __c1, __c2, __c3};
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_const(int64_t __c0,
|
|
345
|
+
int64_t __c1)
|
|
346
|
+
__REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) {
|
|
197
347
|
return (v128_t)(__i64x2){__c0, __c1};
|
|
198
348
|
}
|
|
199
349
|
|
|
200
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
201
|
-
|
|
350
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
351
|
+
wasm_f32x4_const(float __c0, float __c1, float __c2, float __c3)
|
|
352
|
+
__REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) __REQUIRE_CONSTANT(__c2)
|
|
353
|
+
__REQUIRE_CONSTANT(__c3) {
|
|
354
|
+
return (v128_t)(__f32x4){__c0, __c1, __c2, __c3};
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_const(double __c0,
|
|
358
|
+
double __c1)
|
|
359
|
+
__REQUIRE_CONSTANT(__c0) __REQUIRE_CONSTANT(__c1) {
|
|
202
360
|
return (v128_t)(__f64x2){__c0, __c1};
|
|
203
361
|
}
|
|
204
362
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
__REQUIRE_CONSTANT(
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
__REQUIRE_CONSTANT(
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
__REQUIRE_CONSTANT(
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
__REQUIRE_CONSTANT(
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
__REQUIRE_CONSTANT(__c5); \
|
|
236
|
-
__REQUIRE_CONSTANT(__c6); \
|
|
237
|
-
__REQUIRE_CONSTANT(__c7); \
|
|
238
|
-
(v128_t)(__i16x8){__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7}; \
|
|
239
|
-
})
|
|
240
|
-
|
|
241
|
-
#define wasm_i32x4_const(__c0, __c1, __c2, __c3) \
|
|
242
|
-
__extension__({ \
|
|
243
|
-
__REQUIRE_CONSTANT(__c0); \
|
|
244
|
-
__REQUIRE_CONSTANT(__c1); \
|
|
245
|
-
__REQUIRE_CONSTANT(__c2); \
|
|
246
|
-
__REQUIRE_CONSTANT(__c3); \
|
|
247
|
-
(v128_t)(__i32x4){__c0, __c1, __c2, __c3}; \
|
|
248
|
-
})
|
|
249
|
-
|
|
250
|
-
#define wasm_f32x4_const(__c0, __c1, __c2, __c3) \
|
|
251
|
-
__extension__({ \
|
|
252
|
-
__REQUIRE_CONSTANT(__c0); \
|
|
253
|
-
__REQUIRE_CONSTANT(__c1); \
|
|
254
|
-
__REQUIRE_CONSTANT(__c2); \
|
|
255
|
-
__REQUIRE_CONSTANT(__c3); \
|
|
256
|
-
(v128_t)(__f32x4){__c0, __c1, __c2, __c3}; \
|
|
257
|
-
})
|
|
258
|
-
|
|
259
|
-
#define wasm_i64x2_const(__c0, __c1) \
|
|
260
|
-
__extension__({ \
|
|
261
|
-
__REQUIRE_CONSTANT(__c0); \
|
|
262
|
-
__REQUIRE_CONSTANT(__c1); \
|
|
263
|
-
(v128_t)(__i64x2){__c0, __c1}; \
|
|
264
|
-
})
|
|
265
|
-
|
|
266
|
-
#define wasm_f64x2_const(__c0, __c1) \
|
|
267
|
-
__extension__({ \
|
|
268
|
-
__REQUIRE_CONSTANT(__c0); \
|
|
269
|
-
__REQUIRE_CONSTANT(__c1); \
|
|
270
|
-
(v128_t)(__f64x2){__c0, __c1}; \
|
|
271
|
-
})
|
|
363
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_const_splat(int8_t __c)
|
|
364
|
+
__REQUIRE_CONSTANT(__c) {
|
|
365
|
+
return (v128_t)(__i8x16){__c, __c, __c, __c, __c, __c, __c, __c,
|
|
366
|
+
__c, __c, __c, __c, __c, __c, __c, __c};
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_const_splat(int16_t __c)
|
|
370
|
+
__REQUIRE_CONSTANT(__c) {
|
|
371
|
+
return (v128_t)(__i16x8){__c, __c, __c, __c, __c, __c, __c, __c};
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_const_splat(int32_t __c)
|
|
375
|
+
__REQUIRE_CONSTANT(__c) {
|
|
376
|
+
return (v128_t)(__i32x4){__c, __c, __c, __c};
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_const_splat(int64_t __c)
|
|
380
|
+
__REQUIRE_CONSTANT(__c) {
|
|
381
|
+
return (v128_t)(__i64x2){__c, __c};
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_const_splat(float __c)
|
|
385
|
+
__REQUIRE_CONSTANT(__c) {
|
|
386
|
+
return (v128_t)(__f32x4){__c, __c, __c, __c};
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_const_splat(double __c)
|
|
390
|
+
__REQUIRE_CONSTANT(__c) {
|
|
391
|
+
return (v128_t)(__f64x2){__c, __c};
|
|
392
|
+
}
|
|
272
393
|
|
|
273
394
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_splat(int8_t __a) {
|
|
274
395
|
return (v128_t)(__i8x16){__a, __a, __a, __a, __a, __a, __a, __a,
|
|
275
396
|
__a, __a, __a, __a, __a, __a, __a, __a};
|
|
276
397
|
}
|
|
277
398
|
|
|
278
|
-
|
|
279
|
-
|
|
399
|
+
static __inline__ int8_t __DEFAULT_FN_ATTRS wasm_i8x16_extract_lane(v128_t __a,
|
|
400
|
+
int __i)
|
|
401
|
+
__REQUIRE_CONSTANT(__i) {
|
|
402
|
+
return ((__i8x16)__a)[__i];
|
|
403
|
+
}
|
|
280
404
|
|
|
281
|
-
|
|
282
|
-
|
|
405
|
+
static __inline__ uint8_t __DEFAULT_FN_ATTRS wasm_u8x16_extract_lane(v128_t __a,
|
|
406
|
+
int __i)
|
|
407
|
+
__REQUIRE_CONSTANT(__i) {
|
|
408
|
+
return ((__u8x16)__a)[__i];
|
|
409
|
+
}
|
|
283
410
|
|
|
284
|
-
|
|
285
|
-
|
|
411
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_replace_lane(v128_t __a,
|
|
412
|
+
int __i,
|
|
413
|
+
int8_t __b)
|
|
414
|
+
__REQUIRE_CONSTANT(__i) {
|
|
415
|
+
__i8x16 __v = (__i8x16)__a;
|
|
416
|
+
__v[__i] = __b;
|
|
417
|
+
return (v128_t)__v;
|
|
418
|
+
}
|
|
286
419
|
|
|
287
420
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_splat(int16_t __a) {
|
|
288
421
|
return (v128_t)(__i16x8){__a, __a, __a, __a, __a, __a, __a, __a};
|
|
289
422
|
}
|
|
290
423
|
|
|
291
|
-
|
|
292
|
-
|
|
424
|
+
static __inline__ int16_t __DEFAULT_FN_ATTRS wasm_i16x8_extract_lane(v128_t __a,
|
|
425
|
+
int __i)
|
|
426
|
+
__REQUIRE_CONSTANT(__i) {
|
|
427
|
+
return ((__i16x8)__a)[__i];
|
|
428
|
+
}
|
|
293
429
|
|
|
294
|
-
|
|
295
|
-
|
|
430
|
+
static __inline__ uint16_t __DEFAULT_FN_ATTRS
|
|
431
|
+
wasm_u16x8_extract_lane(v128_t __a, int __i) __REQUIRE_CONSTANT(__i) {
|
|
432
|
+
return ((__u16x8)__a)[__i];
|
|
433
|
+
}
|
|
296
434
|
|
|
297
|
-
|
|
298
|
-
|
|
435
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_replace_lane(v128_t __a,
|
|
436
|
+
int __i,
|
|
437
|
+
int16_t __b)
|
|
438
|
+
__REQUIRE_CONSTANT(__i) {
|
|
439
|
+
__i16x8 __v = (__i16x8)__a;
|
|
440
|
+
__v[__i] = __b;
|
|
441
|
+
return (v128_t)__v;
|
|
442
|
+
}
|
|
299
443
|
|
|
300
444
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_splat(int32_t __a) {
|
|
301
445
|
return (v128_t)(__i32x4){__a, __a, __a, __a};
|
|
302
446
|
}
|
|
303
447
|
|
|
304
|
-
|
|
305
|
-
|
|
448
|
+
static __inline__ int32_t __DEFAULT_FN_ATTRS wasm_i32x4_extract_lane(v128_t __a,
|
|
449
|
+
int __i)
|
|
450
|
+
__REQUIRE_CONSTANT(__i) {
|
|
451
|
+
return ((__i32x4)__a)[__i];
|
|
452
|
+
}
|
|
306
453
|
|
|
307
|
-
|
|
308
|
-
|
|
454
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_replace_lane(v128_t __a,
|
|
455
|
+
int __i,
|
|
456
|
+
int32_t __b)
|
|
457
|
+
__REQUIRE_CONSTANT(__i) {
|
|
458
|
+
__i32x4 __v = (__i32x4)__a;
|
|
459
|
+
__v[__i] = __b;
|
|
460
|
+
return (v128_t)__v;
|
|
461
|
+
}
|
|
309
462
|
|
|
310
463
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_splat(int64_t __a) {
|
|
311
464
|
return (v128_t)(__i64x2){__a, __a};
|
|
312
465
|
}
|
|
313
466
|
|
|
314
|
-
|
|
315
|
-
|
|
467
|
+
static __inline__ int64_t __DEFAULT_FN_ATTRS wasm_i64x2_extract_lane(v128_t __a,
|
|
468
|
+
int __i)
|
|
469
|
+
__REQUIRE_CONSTANT(__i) {
|
|
470
|
+
return ((__i64x2)__a)[__i];
|
|
471
|
+
}
|
|
316
472
|
|
|
317
|
-
|
|
318
|
-
|
|
473
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_replace_lane(v128_t __a,
|
|
474
|
+
int __i,
|
|
475
|
+
int64_t __b)
|
|
476
|
+
__REQUIRE_CONSTANT(__i) {
|
|
477
|
+
__i64x2 __v = (__i64x2)__a;
|
|
478
|
+
__v[__i] = __b;
|
|
479
|
+
return (v128_t)__v;
|
|
480
|
+
}
|
|
319
481
|
|
|
320
482
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_splat(float __a) {
|
|
321
483
|
return (v128_t)(__f32x4){__a, __a, __a, __a};
|
|
322
484
|
}
|
|
323
485
|
|
|
324
|
-
|
|
325
|
-
|
|
486
|
+
static __inline__ float __DEFAULT_FN_ATTRS wasm_f32x4_extract_lane(v128_t __a,
|
|
487
|
+
int __i)
|
|
488
|
+
__REQUIRE_CONSTANT(__i) {
|
|
489
|
+
return ((__f32x4)__a)[__i];
|
|
490
|
+
}
|
|
326
491
|
|
|
327
|
-
|
|
328
|
-
|
|
492
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_replace_lane(v128_t __a,
|
|
493
|
+
int __i,
|
|
494
|
+
float __b)
|
|
495
|
+
__REQUIRE_CONSTANT(__i) {
|
|
496
|
+
__f32x4 __v = (__f32x4)__a;
|
|
497
|
+
__v[__i] = __b;
|
|
498
|
+
return (v128_t)__v;
|
|
499
|
+
}
|
|
329
500
|
|
|
330
501
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_splat(double __a) {
|
|
331
502
|
return (v128_t)(__f64x2){__a, __a};
|
|
332
503
|
}
|
|
333
504
|
|
|
334
|
-
|
|
335
|
-
|
|
505
|
+
static __inline__ double __DEFAULT_FN_ATTRS wasm_f64x2_extract_lane(v128_t __a,
|
|
506
|
+
int __i)
|
|
507
|
+
__REQUIRE_CONSTANT(__i) {
|
|
508
|
+
return ((__f64x2)__a)[__i];
|
|
509
|
+
}
|
|
336
510
|
|
|
337
|
-
|
|
338
|
-
|
|
511
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_replace_lane(v128_t __a,
|
|
512
|
+
int __i,
|
|
513
|
+
double __b)
|
|
514
|
+
__REQUIRE_CONSTANT(__i) {
|
|
515
|
+
__f64x2 __v = (__f64x2)__a;
|
|
516
|
+
__v[__i] = __b;
|
|
517
|
+
return (v128_t)__v;
|
|
518
|
+
}
|
|
339
519
|
|
|
340
520
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_eq(v128_t __a,
|
|
341
521
|
v128_t __b) {
|
|
@@ -487,6 +667,36 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_ge(v128_t __a,
|
|
|
487
667
|
return (v128_t)((__u32x4)__a >= (__u32x4)__b);
|
|
488
668
|
}
|
|
489
669
|
|
|
670
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_eq(v128_t __a,
|
|
671
|
+
v128_t __b) {
|
|
672
|
+
return (v128_t)((__i64x2)__a == (__i64x2)__b);
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_ne(v128_t __a,
|
|
676
|
+
v128_t __b) {
|
|
677
|
+
return (v128_t)((__i64x2)__a != (__i64x2)__b);
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_lt(v128_t __a,
|
|
681
|
+
v128_t __b) {
|
|
682
|
+
return (v128_t)((__i64x2)__a < (__i64x2)__b);
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_gt(v128_t __a,
|
|
686
|
+
v128_t __b) {
|
|
687
|
+
return (v128_t)((__i64x2)__a > (__i64x2)__b);
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_le(v128_t __a,
|
|
691
|
+
v128_t __b) {
|
|
692
|
+
return (v128_t)((__i64x2)__a <= (__i64x2)__b);
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_ge(v128_t __a,
|
|
696
|
+
v128_t __b) {
|
|
697
|
+
return (v128_t)((__i64x2)__a >= (__i64x2)__b);
|
|
698
|
+
}
|
|
699
|
+
|
|
490
700
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_eq(v128_t __a,
|
|
491
701
|
v128_t __b) {
|
|
492
702
|
return (v128_t)((__f32x4)__a == (__f32x4)__b);
|
|
@@ -571,6 +781,10 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_andnot(v128_t __a,
|
|
|
571
781
|
return __a & ~__b;
|
|
572
782
|
}
|
|
573
783
|
|
|
784
|
+
static __inline__ bool __DEFAULT_FN_ATTRS wasm_v128_any_true(v128_t __a) {
|
|
785
|
+
return __builtin_wasm_any_true_v128((__i8x16)__a);
|
|
786
|
+
}
|
|
787
|
+
|
|
574
788
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_v128_bitselect(v128_t __a,
|
|
575
789
|
v128_t __b,
|
|
576
790
|
v128_t __mask) {
|
|
@@ -586,14 +800,18 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_neg(v128_t __a) {
|
|
|
586
800
|
return (v128_t)(-(__u8x16)__a);
|
|
587
801
|
}
|
|
588
802
|
|
|
589
|
-
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i8x16_any_true(v128_t __a) {
|
|
590
|
-
return __builtin_wasm_any_true_i8x16((__i8x16)__a);
|
|
591
|
-
}
|
|
592
|
-
|
|
593
803
|
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i8x16_all_true(v128_t __a) {
|
|
594
804
|
return __builtin_wasm_all_true_i8x16((__i8x16)__a);
|
|
595
805
|
}
|
|
596
806
|
|
|
807
|
+
static __inline__ int32_t __DEFAULT_FN_ATTRS wasm_i8x16_bitmask(v128_t __a) {
|
|
808
|
+
return __builtin_wasm_bitmask_i8x16((__i8x16)__a);
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_popcnt(v128_t __a) {
|
|
812
|
+
return (v128_t)__builtin_wasm_popcnt_i8x16((__i8x16)__a);
|
|
813
|
+
}
|
|
814
|
+
|
|
597
815
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_shl(v128_t __a,
|
|
598
816
|
int32_t __b) {
|
|
599
817
|
return (v128_t)((__i8x16)__a << __b);
|
|
@@ -614,16 +832,14 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_add(v128_t __a,
|
|
|
614
832
|
return (v128_t)((__u8x16)__a + (__u8x16)__b);
|
|
615
833
|
}
|
|
616
834
|
|
|
617
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
618
|
-
|
|
619
|
-
return (v128_t)
|
|
620
|
-
(__i8x16)__b);
|
|
835
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_add_sat(v128_t __a,
|
|
836
|
+
v128_t __b) {
|
|
837
|
+
return (v128_t)__builtin_wasm_add_sat_s_i8x16((__i8x16)__a, (__i8x16)__b);
|
|
621
838
|
}
|
|
622
839
|
|
|
623
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
624
|
-
|
|
625
|
-
return (v128_t)
|
|
626
|
-
(__u8x16)__b);
|
|
840
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_add_sat(v128_t __a,
|
|
841
|
+
v128_t __b) {
|
|
842
|
+
return (v128_t)__builtin_wasm_add_sat_u_i8x16((__u8x16)__a, (__u8x16)__b);
|
|
627
843
|
}
|
|
628
844
|
|
|
629
845
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_sub(v128_t __a,
|
|
@@ -631,16 +847,14 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_sub(v128_t __a,
|
|
|
631
847
|
return (v128_t)((__u8x16)__a - (__u8x16)__b);
|
|
632
848
|
}
|
|
633
849
|
|
|
634
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
635
|
-
|
|
636
|
-
return (v128_t)
|
|
637
|
-
(__i8x16)__b);
|
|
850
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_sub_sat(v128_t __a,
|
|
851
|
+
v128_t __b) {
|
|
852
|
+
return (v128_t)__builtin_wasm_sub_sat_s_i8x16((__i8x16)__a, (__i8x16)__b);
|
|
638
853
|
}
|
|
639
854
|
|
|
640
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
641
|
-
|
|
642
|
-
return (v128_t)
|
|
643
|
-
(__u8x16)__b);
|
|
855
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u8x16_sub_sat(v128_t __a,
|
|
856
|
+
v128_t __b) {
|
|
857
|
+
return (v128_t)__builtin_wasm_sub_sat_u_i8x16((__u8x16)__a, (__u8x16)__b);
|
|
644
858
|
}
|
|
645
859
|
|
|
646
860
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_min(v128_t __a,
|
|
@@ -676,14 +890,14 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_neg(v128_t __a) {
|
|
|
676
890
|
return (v128_t)(-(__u16x8)__a);
|
|
677
891
|
}
|
|
678
892
|
|
|
679
|
-
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i16x8_any_true(v128_t __a) {
|
|
680
|
-
return __builtin_wasm_any_true_i16x8((__i16x8)__a);
|
|
681
|
-
}
|
|
682
|
-
|
|
683
893
|
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i16x8_all_true(v128_t __a) {
|
|
684
894
|
return __builtin_wasm_all_true_i16x8((__i16x8)__a);
|
|
685
895
|
}
|
|
686
896
|
|
|
897
|
+
static __inline__ int32_t __DEFAULT_FN_ATTRS wasm_i16x8_bitmask(v128_t __a) {
|
|
898
|
+
return __builtin_wasm_bitmask_i16x8((__i16x8)__a);
|
|
899
|
+
}
|
|
900
|
+
|
|
687
901
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_shl(v128_t __a,
|
|
688
902
|
int32_t __b) {
|
|
689
903
|
return (v128_t)((__i16x8)__a << __b);
|
|
@@ -704,16 +918,14 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_add(v128_t __a,
|
|
|
704
918
|
return (v128_t)((__u16x8)__a + (__u16x8)__b);
|
|
705
919
|
}
|
|
706
920
|
|
|
707
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
708
|
-
|
|
709
|
-
return (v128_t)
|
|
710
|
-
(__i16x8)__b);
|
|
921
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_add_sat(v128_t __a,
|
|
922
|
+
v128_t __b) {
|
|
923
|
+
return (v128_t)__builtin_wasm_add_sat_s_i16x8((__i16x8)__a, (__i16x8)__b);
|
|
711
924
|
}
|
|
712
925
|
|
|
713
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
714
|
-
|
|
715
|
-
return (v128_t)
|
|
716
|
-
(__u16x8)__b);
|
|
926
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_add_sat(v128_t __a,
|
|
927
|
+
v128_t __b) {
|
|
928
|
+
return (v128_t)__builtin_wasm_add_sat_u_i16x8((__u16x8)__a, (__u16x8)__b);
|
|
717
929
|
}
|
|
718
930
|
|
|
719
931
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_sub(v128_t __a,
|
|
@@ -721,16 +933,14 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_sub(v128_t __a,
|
|
|
721
933
|
return (v128_t)((__i16x8)__a - (__i16x8)__b);
|
|
722
934
|
}
|
|
723
935
|
|
|
724
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
725
|
-
|
|
726
|
-
return (v128_t)
|
|
727
|
-
(__i16x8)__b);
|
|
936
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_sub_sat(v128_t __a,
|
|
937
|
+
v128_t __b) {
|
|
938
|
+
return (v128_t)__builtin_wasm_sub_sat_s_i16x8((__i16x8)__a, (__i16x8)__b);
|
|
728
939
|
}
|
|
729
940
|
|
|
730
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
731
|
-
|
|
732
|
-
return (v128_t)
|
|
733
|
-
(__u16x8)__b);
|
|
941
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u16x8_sub_sat(v128_t __a,
|
|
942
|
+
v128_t __b) {
|
|
943
|
+
return (v128_t)__builtin_wasm_sub_sat_u_i16x8((__u16x8)__a, (__u16x8)__b);
|
|
734
944
|
}
|
|
735
945
|
|
|
736
946
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_mul(v128_t __a,
|
|
@@ -771,14 +981,14 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_neg(v128_t __a) {
|
|
|
771
981
|
return (v128_t)(-(__u32x4)__a);
|
|
772
982
|
}
|
|
773
983
|
|
|
774
|
-
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i32x4_any_true(v128_t __a) {
|
|
775
|
-
return __builtin_wasm_any_true_i32x4((__i32x4)__a);
|
|
776
|
-
}
|
|
777
|
-
|
|
778
984
|
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i32x4_all_true(v128_t __a) {
|
|
779
985
|
return __builtin_wasm_all_true_i32x4((__i32x4)__a);
|
|
780
986
|
}
|
|
781
987
|
|
|
988
|
+
static __inline__ int32_t __DEFAULT_FN_ATTRS wasm_i32x4_bitmask(v128_t __a) {
|
|
989
|
+
return __builtin_wasm_bitmask_i32x4((__i32x4)__a);
|
|
990
|
+
}
|
|
991
|
+
|
|
782
992
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_shl(v128_t __a,
|
|
783
993
|
int32_t __b) {
|
|
784
994
|
return (v128_t)((__i32x4)__a << __b);
|
|
@@ -829,21 +1039,26 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_u32x4_max(v128_t __a,
|
|
|
829
1039
|
return (v128_t)__builtin_wasm_max_u_i32x4((__u32x4)__a, (__u32x4)__b);
|
|
830
1040
|
}
|
|
831
1041
|
|
|
832
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
833
|
-
|
|
1042
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i32x4_dot_i16x8(v128_t __a,
|
|
1043
|
+
v128_t __b) {
|
|
1044
|
+
return (v128_t)__builtin_wasm_dot_s_i32x4_i16x8((__i16x8)__a, (__i16x8)__b);
|
|
834
1045
|
}
|
|
835
1046
|
|
|
836
|
-
|
|
1047
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_abs(v128_t __a) {
|
|
1048
|
+
return (v128_t)__builtin_wasm_abs_i64x2((__i64x2)__a);
|
|
1049
|
+
}
|
|
837
1050
|
|
|
838
|
-
static __inline__
|
|
839
|
-
return
|
|
1051
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_neg(v128_t __a) {
|
|
1052
|
+
return (v128_t)(-(__u64x2)__a);
|
|
840
1053
|
}
|
|
841
1054
|
|
|
842
1055
|
static __inline__ bool __DEFAULT_FN_ATTRS wasm_i64x2_all_true(v128_t __a) {
|
|
843
1056
|
return __builtin_wasm_all_true_i64x2((__i64x2)__a);
|
|
844
1057
|
}
|
|
845
1058
|
|
|
846
|
-
|
|
1059
|
+
static __inline__ int32_t __DEFAULT_FN_ATTRS wasm_i64x2_bitmask(v128_t __a) {
|
|
1060
|
+
return __builtin_wasm_bitmask_i64x2((__i64x2)__a);
|
|
1061
|
+
}
|
|
847
1062
|
|
|
848
1063
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i64x2_shl(v128_t __a,
|
|
849
1064
|
int32_t __b) {
|
|
@@ -887,23 +1102,21 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_sqrt(v128_t __a) {
|
|
|
887
1102
|
return (v128_t)__builtin_wasm_sqrt_f32x4((__f32x4)__a);
|
|
888
1103
|
}
|
|
889
1104
|
|
|
890
|
-
|
|
1105
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_ceil(v128_t __a) {
|
|
1106
|
+
return (v128_t)__builtin_wasm_ceil_f32x4((__f32x4)__a);
|
|
1107
|
+
}
|
|
891
1108
|
|
|
892
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
893
|
-
|
|
894
|
-
v128_t __c) {
|
|
895
|
-
return (v128_t)__builtin_wasm_qfma_f32x4((__f32x4)__a, (__f32x4)__b,
|
|
896
|
-
(__f32x4)__c);
|
|
1109
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_floor(v128_t __a) {
|
|
1110
|
+
return (v128_t)__builtin_wasm_floor_f32x4((__f32x4)__a);
|
|
897
1111
|
}
|
|
898
1112
|
|
|
899
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
900
|
-
|
|
901
|
-
v128_t __c) {
|
|
902
|
-
return (v128_t)__builtin_wasm_qfms_f32x4((__f32x4)__a, (__f32x4)__b,
|
|
903
|
-
(__f32x4)__c);
|
|
1113
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_trunc(v128_t __a) {
|
|
1114
|
+
return (v128_t)__builtin_wasm_trunc_f32x4((__f32x4)__a);
|
|
904
1115
|
}
|
|
905
1116
|
|
|
906
|
-
|
|
1117
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_nearest(v128_t __a) {
|
|
1118
|
+
return (v128_t)__builtin_wasm_nearest_f32x4((__f32x4)__a);
|
|
1119
|
+
}
|
|
907
1120
|
|
|
908
1121
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_add(v128_t __a,
|
|
909
1122
|
v128_t __b) {
|
|
@@ -937,12 +1150,14 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_max(v128_t __a,
|
|
|
937
1150
|
|
|
938
1151
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_pmin(v128_t __a,
|
|
939
1152
|
v128_t __b) {
|
|
940
|
-
|
|
1153
|
+
__i32x4 __mask = (__i32x4)((__f32x4)__b < (__f32x4)__a);
|
|
1154
|
+
return (v128_t)((((__i32x4)__b) & __mask) | (((__i32x4)__a) & ~__mask));
|
|
941
1155
|
}
|
|
942
1156
|
|
|
943
1157
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_pmax(v128_t __a,
|
|
944
1158
|
v128_t __b) {
|
|
945
|
-
|
|
1159
|
+
__i32x4 __mask = (__i32x4)((__f32x4)__a < (__f32x4)__b);
|
|
1160
|
+
return (v128_t)((((__i32x4)__b) & __mask) | (((__i32x4)__a) & ~__mask));
|
|
946
1161
|
}
|
|
947
1162
|
|
|
948
1163
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_abs(v128_t __a) {
|
|
@@ -957,23 +1172,21 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_sqrt(v128_t __a) {
|
|
|
957
1172
|
return (v128_t)__builtin_wasm_sqrt_f64x2((__f64x2)__a);
|
|
958
1173
|
}
|
|
959
1174
|
|
|
960
|
-
|
|
1175
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_ceil(v128_t __a) {
|
|
1176
|
+
return (v128_t)__builtin_wasm_ceil_f64x2((__f64x2)__a);
|
|
1177
|
+
}
|
|
961
1178
|
|
|
962
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
963
|
-
|
|
964
|
-
v128_t __c) {
|
|
965
|
-
return (v128_t)__builtin_wasm_qfma_f64x2((__f64x2)__a, (__f64x2)__b,
|
|
966
|
-
(__f64x2)__c);
|
|
1179
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_floor(v128_t __a) {
|
|
1180
|
+
return (v128_t)__builtin_wasm_floor_f64x2((__f64x2)__a);
|
|
967
1181
|
}
|
|
968
1182
|
|
|
969
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
970
|
-
|
|
971
|
-
v128_t __c) {
|
|
972
|
-
return (v128_t)__builtin_wasm_qfms_f64x2((__f64x2)__a, (__f64x2)__b,
|
|
973
|
-
(__f64x2)__c);
|
|
1183
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_trunc(v128_t __a) {
|
|
1184
|
+
return (v128_t)__builtin_wasm_trunc_f64x2((__f64x2)__a);
|
|
974
1185
|
}
|
|
975
1186
|
|
|
976
|
-
|
|
1187
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_nearest(v128_t __a) {
|
|
1188
|
+
return (v128_t)__builtin_wasm_nearest_f64x2((__f64x2)__a);
|
|
1189
|
+
}
|
|
977
1190
|
|
|
978
1191
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_add(v128_t __a,
|
|
979
1192
|
v128_t __b) {
|
|
@@ -1007,21 +1220,23 @@ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_max(v128_t __a,
|
|
|
1007
1220
|
|
|
1008
1221
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_pmin(v128_t __a,
|
|
1009
1222
|
v128_t __b) {
|
|
1010
|
-
|
|
1223
|
+
__i64x2 __mask = (__i64x2)((__f64x2)__b < (__f64x2)__a);
|
|
1224
|
+
return (v128_t)((((__i64x2)__b) & __mask) | (((__i64x2)__a) & ~__mask));
|
|
1011
1225
|
}
|
|
1012
1226
|
|
|
1013
1227
|
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f64x2_pmax(v128_t __a,
|
|
1014
1228
|
v128_t __b) {
|
|
1015
|
-
|
|
1229
|
+
__i64x2 __mask = (__i64x2)((__f64x2)__a < (__f64x2)__b);
|
|
1230
|
+
return (v128_t)((((__i64x2)__b) & __mask) | (((__i64x2)__a) & ~__mask));
|
|
1016
1231
|
}
|
|
1017
1232
|
|
|
1018
1233
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1019
|
-
|
|
1234
|
+
wasm_i32x4_trunc_sat_f32x4(v128_t __a) {
|
|
1020
1235
|
return (v128_t)__builtin_wasm_trunc_saturate_s_i32x4_f32x4((__f32x4)__a);
|
|
1021
1236
|
}
|
|
1022
1237
|
|
|
1023
1238
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1024
|
-
|
|
1239
|
+
wasm_u32x4_trunc_sat_f32x4(v128_t __a) {
|
|
1025
1240
|
return (v128_t)__builtin_wasm_trunc_saturate_u_i32x4_f32x4((__f32x4)__a);
|
|
1026
1241
|
}
|
|
1027
1242
|
|
|
@@ -1035,38 +1250,71 @@ wasm_f32x4_convert_u32x4(v128_t __a) {
|
|
|
1035
1250
|
return (v128_t) __builtin_convertvector((__u32x4)__a, __f32x4);
|
|
1036
1251
|
}
|
|
1037
1252
|
|
|
1038
|
-
|
|
1253
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1254
|
+
wasm_f64x2_convert_low_i32x4(v128_t __a) {
|
|
1255
|
+
return (v128_t) __builtin_convertvector((__i32x2){__a[0], __a[1]}, __f64x2);
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1259
|
+
wasm_f64x2_convert_low_u32x4(v128_t __a) {
|
|
1260
|
+
return (v128_t) __builtin_convertvector((__u32x2){__a[0], __a[1]}, __f64x2);
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1264
|
+
wasm_i32x4_trunc_sat_f64x2_zero(v128_t __a) {
|
|
1265
|
+
return (v128_t)__builtin_wasm_trunc_sat_zero_s_f64x2_i32x4((__f64x2)__a);
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1269
|
+
wasm_u32x4_trunc_sat_f64x2_zero(v128_t __a) {
|
|
1270
|
+
return (v128_t)__builtin_wasm_trunc_sat_zero_u_f64x2_i32x4((__f64x2)__a);
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1274
|
+
wasm_f32x4_demote_f64x2_zero(v128_t __a) {
|
|
1275
|
+
return (v128_t) __builtin_convertvector(
|
|
1276
|
+
__builtin_shufflevector((__f64x2)__a, (__f64x2){0, 0}, 0, 1, 2, 3),
|
|
1277
|
+
__f32x4);
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1281
|
+
wasm_f64x2_promote_low_f32x4(v128_t __a) {
|
|
1282
|
+
return (v128_t) __builtin_convertvector(
|
|
1283
|
+
(__f32x2){((__f32x4)__a)[0], ((__f32x4)__a)[1]}, __f64x2);
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
#define wasm_i8x16_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
|
|
1039
1287
|
__c7, __c8, __c9, __c10, __c11, __c12, __c13, \
|
|
1040
1288
|
__c14, __c15) \
|
|
1041
|
-
((v128_t)
|
|
1289
|
+
((v128_t)__builtin_wasm_shuffle_i8x16( \
|
|
1042
1290
|
(__i8x16)(__a), (__i8x16)(__b), __c0, __c1, __c2, __c3, __c4, __c5, \
|
|
1043
1291
|
__c6, __c7, __c8, __c9, __c10, __c11, __c12, __c13, __c14, __c15))
|
|
1044
1292
|
|
|
1045
|
-
#define
|
|
1293
|
+
#define wasm_i16x8_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
|
|
1046
1294
|
__c7) \
|
|
1047
|
-
((v128_t)
|
|
1295
|
+
((v128_t)__builtin_wasm_shuffle_i8x16( \
|
|
1048
1296
|
(__i8x16)(__a), (__i8x16)(__b), (__c0)*2, (__c0)*2 + 1, (__c1)*2, \
|
|
1049
1297
|
(__c1)*2 + 1, (__c2)*2, (__c2)*2 + 1, (__c3)*2, (__c3)*2 + 1, (__c4)*2, \
|
|
1050
1298
|
(__c4)*2 + 1, (__c5)*2, (__c5)*2 + 1, (__c6)*2, (__c6)*2 + 1, (__c7)*2, \
|
|
1051
1299
|
(__c7)*2 + 1))
|
|
1052
1300
|
|
|
1053
|
-
#define
|
|
1054
|
-
((v128_t)
|
|
1301
|
+
#define wasm_i32x4_shuffle(__a, __b, __c0, __c1, __c2, __c3) \
|
|
1302
|
+
((v128_t)__builtin_wasm_shuffle_i8x16( \
|
|
1055
1303
|
(__i8x16)(__a), (__i8x16)(__b), (__c0)*4, (__c0)*4 + 1, (__c0)*4 + 2, \
|
|
1056
1304
|
(__c0)*4 + 3, (__c1)*4, (__c1)*4 + 1, (__c1)*4 + 2, (__c1)*4 + 3, \
|
|
1057
1305
|
(__c2)*4, (__c2)*4 + 1, (__c2)*4 + 2, (__c2)*4 + 3, (__c3)*4, \
|
|
1058
1306
|
(__c3)*4 + 1, (__c3)*4 + 2, (__c3)*4 + 3))
|
|
1059
1307
|
|
|
1060
|
-
#define
|
|
1061
|
-
((v128_t)
|
|
1308
|
+
#define wasm_i64x2_shuffle(__a, __b, __c0, __c1) \
|
|
1309
|
+
((v128_t)__builtin_wasm_shuffle_i8x16( \
|
|
1062
1310
|
(__i8x16)(__a), (__i8x16)(__b), (__c0)*8, (__c0)*8 + 1, (__c0)*8 + 2, \
|
|
1063
1311
|
(__c0)*8 + 3, (__c0)*8 + 4, (__c0)*8 + 5, (__c0)*8 + 6, (__c0)*8 + 7, \
|
|
1064
1312
|
(__c1)*8, (__c1)*8 + 1, (__c1)*8 + 2, (__c1)*8 + 3, (__c1)*8 + 4, \
|
|
1065
1313
|
(__c1)*8 + 5, (__c1)*8 + 6, (__c1)*8 + 7))
|
|
1066
1314
|
|
|
1067
|
-
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1315
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_swizzle(v128_t __a,
|
|
1068
1316
|
v128_t __b) {
|
|
1069
|
-
return (v128_t)
|
|
1317
|
+
return (v128_t)__builtin_wasm_swizzle_i8x16((__i8x16)__a, (__i8x16)__b);
|
|
1070
1318
|
}
|
|
1071
1319
|
|
|
1072
1320
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
@@ -1077,8 +1325,8 @@ wasm_i8x16_narrow_i16x8(v128_t __a, v128_t __b) {
|
|
|
1077
1325
|
|
|
1078
1326
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1079
1327
|
wasm_u8x16_narrow_i16x8(v128_t __a, v128_t __b) {
|
|
1080
|
-
return (v128_t)__builtin_wasm_narrow_u_i8x16_i16x8((
|
|
1081
|
-
(
|
|
1328
|
+
return (v128_t)__builtin_wasm_narrow_u_i8x16_i16x8((__i16x8)__a,
|
|
1329
|
+
(__i16x8)__b);
|
|
1082
1330
|
}
|
|
1083
1331
|
|
|
1084
1332
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
@@ -1089,12 +1337,12 @@ wasm_i16x8_narrow_i32x4(v128_t __a, v128_t __b) {
|
|
|
1089
1337
|
|
|
1090
1338
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1091
1339
|
wasm_u16x8_narrow_i32x4(v128_t __a, v128_t __b) {
|
|
1092
|
-
return (v128_t)__builtin_wasm_narrow_u_i16x8_i32x4((
|
|
1093
|
-
(
|
|
1340
|
+
return (v128_t)__builtin_wasm_narrow_u_i16x8_i32x4((__i32x4)__a,
|
|
1341
|
+
(__i32x4)__b);
|
|
1094
1342
|
}
|
|
1095
1343
|
|
|
1096
1344
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1097
|
-
|
|
1345
|
+
wasm_i16x8_extend_low_i8x16(v128_t __a) {
|
|
1098
1346
|
return (v128_t) __builtin_convertvector(
|
|
1099
1347
|
(__i8x8){((__i8x16)__a)[0], ((__i8x16)__a)[1], ((__i8x16)__a)[2],
|
|
1100
1348
|
((__i8x16)__a)[3], ((__i8x16)__a)[4], ((__i8x16)__a)[5],
|
|
@@ -1103,7 +1351,7 @@ wasm_i16x8_widen_low_i8x16(v128_t __a) {
|
|
|
1103
1351
|
}
|
|
1104
1352
|
|
|
1105
1353
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1106
|
-
|
|
1354
|
+
wasm_i16x8_extend_high_i8x16(v128_t __a) {
|
|
1107
1355
|
return (v128_t) __builtin_convertvector(
|
|
1108
1356
|
(__i8x8){((__i8x16)__a)[8], ((__i8x16)__a)[9], ((__i8x16)__a)[10],
|
|
1109
1357
|
((__i8x16)__a)[11], ((__i8x16)__a)[12], ((__i8x16)__a)[13],
|
|
@@ -1112,7 +1360,7 @@ wasm_i16x8_widen_high_i8x16(v128_t __a) {
|
|
|
1112
1360
|
}
|
|
1113
1361
|
|
|
1114
1362
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1115
|
-
|
|
1363
|
+
wasm_u16x8_extend_low_u8x16(v128_t __a) {
|
|
1116
1364
|
return (v128_t) __builtin_convertvector(
|
|
1117
1365
|
(__u8x8){((__u8x16)__a)[0], ((__u8x16)__a)[1], ((__u8x16)__a)[2],
|
|
1118
1366
|
((__u8x16)__a)[3], ((__u8x16)__a)[4], ((__u8x16)__a)[5],
|
|
@@ -1121,7 +1369,7 @@ wasm_i16x8_widen_low_u8x16(v128_t __a) {
|
|
|
1121
1369
|
}
|
|
1122
1370
|
|
|
1123
1371
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1124
|
-
|
|
1372
|
+
wasm_u16x8_extend_high_u8x16(v128_t __a) {
|
|
1125
1373
|
return (v128_t) __builtin_convertvector(
|
|
1126
1374
|
(__u8x8){((__u8x16)__a)[8], ((__u8x16)__a)[9], ((__u8x16)__a)[10],
|
|
1127
1375
|
((__u8x16)__a)[11], ((__u8x16)__a)[12], ((__u8x16)__a)[13],
|
|
@@ -1130,7 +1378,7 @@ wasm_i16x8_widen_high_u8x16(v128_t __a) {
|
|
|
1130
1378
|
}
|
|
1131
1379
|
|
|
1132
1380
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1133
|
-
|
|
1381
|
+
wasm_i32x4_extend_low_i16x8(v128_t __a) {
|
|
1134
1382
|
return (v128_t) __builtin_convertvector(
|
|
1135
1383
|
(__i16x4){((__i16x8)__a)[0], ((__i16x8)__a)[1], ((__i16x8)__a)[2],
|
|
1136
1384
|
((__i16x8)__a)[3]},
|
|
@@ -1138,7 +1386,7 @@ wasm_i32x4_widen_low_i16x8(v128_t __a) {
|
|
|
1138
1386
|
}
|
|
1139
1387
|
|
|
1140
1388
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1141
|
-
|
|
1389
|
+
wasm_i32x4_extend_high_i16x8(v128_t __a) {
|
|
1142
1390
|
return (v128_t) __builtin_convertvector(
|
|
1143
1391
|
(__i16x4){((__i16x8)__a)[4], ((__i16x8)__a)[5], ((__i16x8)__a)[6],
|
|
1144
1392
|
((__i16x8)__a)[7]},
|
|
@@ -1146,7 +1394,7 @@ wasm_i32x4_widen_high_i16x8(v128_t __a) {
|
|
|
1146
1394
|
}
|
|
1147
1395
|
|
|
1148
1396
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1149
|
-
|
|
1397
|
+
wasm_u32x4_extend_low_u16x8(v128_t __a) {
|
|
1150
1398
|
return (v128_t) __builtin_convertvector(
|
|
1151
1399
|
(__u16x4){((__u16x8)__a)[0], ((__u16x8)__a)[1], ((__u16x8)__a)[2],
|
|
1152
1400
|
((__u16x8)__a)[3]},
|
|
@@ -1154,14 +1402,333 @@ wasm_i32x4_widen_low_u16x8(v128_t __a) {
|
|
|
1154
1402
|
}
|
|
1155
1403
|
|
|
1156
1404
|
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1157
|
-
|
|
1405
|
+
wasm_u32x4_extend_high_u16x8(v128_t __a) {
|
|
1158
1406
|
return (v128_t) __builtin_convertvector(
|
|
1159
1407
|
(__u16x4){((__u16x8)__a)[4], ((__u16x8)__a)[5], ((__u16x8)__a)[6],
|
|
1160
1408
|
((__u16x8)__a)[7]},
|
|
1161
1409
|
__u32x4);
|
|
1162
1410
|
}
|
|
1163
1411
|
|
|
1412
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1413
|
+
wasm_i64x2_extend_low_i32x4(v128_t __a) {
|
|
1414
|
+
return (v128_t) __builtin_convertvector(
|
|
1415
|
+
(__i32x2){((__i32x4)__a)[0], ((__i32x4)__a)[1]}, __i64x2);
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1419
|
+
wasm_i64x2_extend_high_i32x4(v128_t __a) {
|
|
1420
|
+
return (v128_t) __builtin_convertvector(
|
|
1421
|
+
(__i32x2){((__i32x4)__a)[2], ((__i32x4)__a)[3]}, __i64x2);
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1425
|
+
wasm_u64x2_extend_low_u32x4(v128_t __a) {
|
|
1426
|
+
return (v128_t) __builtin_convertvector(
|
|
1427
|
+
(__u32x2){((__u32x4)__a)[0], ((__u32x4)__a)[1]}, __u64x2);
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1431
|
+
wasm_u64x2_extend_high_u32x4(v128_t __a) {
|
|
1432
|
+
return (v128_t) __builtin_convertvector(
|
|
1433
|
+
(__u32x2){((__u32x4)__a)[2], ((__u32x4)__a)[3]}, __u64x2);
|
|
1434
|
+
}
|
|
1435
|
+
|
|
1436
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1437
|
+
wasm_i16x8_extadd_pairwise_i8x16(v128_t __a) {
|
|
1438
|
+
return (v128_t)__builtin_wasm_extadd_pairwise_i8x16_s_i16x8((__i8x16)__a);
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1442
|
+
wasm_u16x8_extadd_pairwise_u8x16(v128_t __a) {
|
|
1443
|
+
return (v128_t)__builtin_wasm_extadd_pairwise_i8x16_u_i16x8((__u8x16)__a);
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1446
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1447
|
+
wasm_i32x4_extadd_pairwise_i16x8(v128_t __a) {
|
|
1448
|
+
return (v128_t)__builtin_wasm_extadd_pairwise_i16x8_s_i32x4((__i16x8)__a);
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1452
|
+
wasm_u32x4_extadd_pairwise_u16x8(v128_t __a) {
|
|
1453
|
+
return (v128_t)__builtin_wasm_extadd_pairwise_i16x8_u_i32x4((__u16x8)__a);
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1457
|
+
wasm_i16x8_extmul_low_i8x16(v128_t __a, v128_t __b) {
|
|
1458
|
+
return (v128_t)((__i16x8)wasm_i16x8_extend_low_i8x16(__a) *
|
|
1459
|
+
(__i16x8)wasm_i16x8_extend_low_i8x16(__b));
|
|
1460
|
+
}
|
|
1461
|
+
|
|
1462
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1463
|
+
wasm_i16x8_extmul_high_i8x16(v128_t __a, v128_t __b) {
|
|
1464
|
+
return (v128_t)((__i16x8)wasm_i16x8_extend_high_i8x16(__a) *
|
|
1465
|
+
(__i16x8)wasm_i16x8_extend_high_i8x16(__b));
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1469
|
+
wasm_u16x8_extmul_low_u8x16(v128_t __a, v128_t __b) {
|
|
1470
|
+
return (v128_t)((__u16x8)wasm_u16x8_extend_low_u8x16(__a) *
|
|
1471
|
+
(__u16x8)wasm_u16x8_extend_low_u8x16(__b));
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1475
|
+
wasm_u16x8_extmul_high_u8x16(v128_t __a, v128_t __b) {
|
|
1476
|
+
return (v128_t)((__u16x8)wasm_u16x8_extend_high_u8x16(__a) *
|
|
1477
|
+
(__u16x8)wasm_u16x8_extend_high_u8x16(__b));
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1481
|
+
wasm_i32x4_extmul_low_i16x8(v128_t __a, v128_t __b) {
|
|
1482
|
+
return (v128_t)((__i32x4)wasm_i32x4_extend_low_i16x8(__a) *
|
|
1483
|
+
(__i32x4)wasm_i32x4_extend_low_i16x8(__b));
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1487
|
+
wasm_i32x4_extmul_high_i16x8(v128_t __a, v128_t __b) {
|
|
1488
|
+
return (v128_t)((__i32x4)wasm_i32x4_extend_high_i16x8(__a) *
|
|
1489
|
+
(__i32x4)wasm_i32x4_extend_high_i16x8(__b));
|
|
1490
|
+
}
|
|
1491
|
+
|
|
1492
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1493
|
+
wasm_u32x4_extmul_low_u16x8(v128_t __a, v128_t __b) {
|
|
1494
|
+
return (v128_t)((__u32x4)wasm_u32x4_extend_low_u16x8(__a) *
|
|
1495
|
+
(__u32x4)wasm_u32x4_extend_low_u16x8(__b));
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1499
|
+
wasm_u32x4_extmul_high_u16x8(v128_t __a, v128_t __b) {
|
|
1500
|
+
return (v128_t)((__u32x4)wasm_u32x4_extend_high_u16x8(__a) *
|
|
1501
|
+
(__u32x4)wasm_u32x4_extend_high_u16x8(__b));
|
|
1502
|
+
}
|
|
1503
|
+
|
|
1504
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1505
|
+
wasm_i64x2_extmul_low_i32x4(v128_t __a, v128_t __b) {
|
|
1506
|
+
return (v128_t)((__i64x2)wasm_i64x2_extend_low_i32x4(__a) *
|
|
1507
|
+
(__i64x2)wasm_i64x2_extend_low_i32x4(__b));
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1510
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1511
|
+
wasm_i64x2_extmul_high_i32x4(v128_t __a, v128_t __b) {
|
|
1512
|
+
return (v128_t)((__i64x2)wasm_i64x2_extend_high_i32x4(__a) *
|
|
1513
|
+
(__i64x2)wasm_i64x2_extend_high_i32x4(__b));
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1517
|
+
wasm_u64x2_extmul_low_u32x4(v128_t __a, v128_t __b) {
|
|
1518
|
+
return (v128_t)((__u64x2)wasm_u64x2_extend_low_u32x4(__a) *
|
|
1519
|
+
(__u64x2)wasm_u64x2_extend_low_u32x4(__b));
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS
|
|
1523
|
+
wasm_u64x2_extmul_high_u32x4(v128_t __a, v128_t __b) {
|
|
1524
|
+
return (v128_t)((__u64x2)wasm_u64x2_extend_high_u32x4(__a) *
|
|
1525
|
+
(__u64x2)wasm_u64x2_extend_high_u32x4(__b));
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i16x8_q15mulr_sat(v128_t __a,
|
|
1529
|
+
v128_t __b) {
|
|
1530
|
+
return (v128_t)__builtin_wasm_q15mulr_sat_s_i16x8((__i16x8)__a, (__i16x8)__b);
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1533
|
+
// Old intrinsic names supported to ease transitioning to the standard names. Do
|
|
1534
|
+
// not use these; they will be removed in the near future.
|
|
1535
|
+
|
|
1536
|
+
#define __DEPRECATED_FN_ATTRS(__replacement) \
|
|
1537
|
+
__DEFAULT_FN_ATTRS __attribute__( \
|
|
1538
|
+
(deprecated("use " __replacement " instead", __replacement)))
|
|
1539
|
+
|
|
1540
|
+
#define __WASM_STR(X) #X
|
|
1541
|
+
|
|
1542
|
+
#ifdef __DEPRECATED
|
|
1543
|
+
#define __DEPRECATED_WASM_MACRO(__name, __replacement) \
|
|
1544
|
+
_Pragma(__WASM_STR(GCC warning( \
|
|
1545
|
+
"'" __name "' is deprecated: use '" __replacement "' instead")))
|
|
1546
|
+
#else
|
|
1547
|
+
#define __DEPRECATED_WASM_MACRO(__name, __replacement)
|
|
1548
|
+
#endif
|
|
1549
|
+
|
|
1550
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_v128_load8_splat")
|
|
1551
|
+
wasm_v8x16_load_splat(const void *__mem) {
|
|
1552
|
+
return wasm_v128_load8_splat(__mem);
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_v128_load16_splat")
|
|
1556
|
+
wasm_v16x8_load_splat(const void *__mem) {
|
|
1557
|
+
return wasm_v128_load16_splat(__mem);
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_v128_load32_splat")
|
|
1561
|
+
wasm_v32x4_load_splat(const void *__mem) {
|
|
1562
|
+
return wasm_v128_load32_splat(__mem);
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_v128_load64_splat")
|
|
1566
|
+
wasm_v64x2_load_splat(const void *__mem) {
|
|
1567
|
+
return wasm_v128_load64_splat(__mem);
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_load8x8")
|
|
1571
|
+
wasm_i16x8_load_8x8(const void *__mem) {
|
|
1572
|
+
return wasm_i16x8_load8x8(__mem);
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_load8x8")
|
|
1576
|
+
wasm_u16x8_load_8x8(const void *__mem) {
|
|
1577
|
+
return wasm_u16x8_load8x8(__mem);
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1580
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i32x4_load16x4")
|
|
1581
|
+
wasm_i32x4_load_16x4(const void *__mem) {
|
|
1582
|
+
return wasm_i32x4_load16x4(__mem);
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u32x4_load16x4")
|
|
1586
|
+
wasm_u32x4_load_16x4(const void *__mem) {
|
|
1587
|
+
return wasm_u32x4_load16x4(__mem);
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i64x2_load32x2")
|
|
1591
|
+
wasm_i64x2_load_32x2(const void *__mem) {
|
|
1592
|
+
return wasm_i64x2_load32x2(__mem);
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u64x2_load32x2")
|
|
1596
|
+
wasm_u64x2_load_32x2(const void *__mem) {
|
|
1597
|
+
return wasm_u64x2_load32x2(__mem);
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1600
|
+
#define wasm_v8x16_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
|
|
1601
|
+
__c7, __c8, __c9, __c10, __c11, __c12, __c13, \
|
|
1602
|
+
__c14, __c15) \
|
|
1603
|
+
__DEPRECATED_WASM_MACRO("wasm_v8x16_shuffle", "wasm_i8x16_shuffle") \
|
|
1604
|
+
wasm_i8x16_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7, \
|
|
1605
|
+
__c8, __c9, __c10, __c11, __c12, __c13, __c14, __c15)
|
|
1606
|
+
|
|
1607
|
+
#define wasm_v16x8_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
|
|
1608
|
+
__c7) \
|
|
1609
|
+
__DEPRECATED_WASM_MACRO("wasm_v16x8_shuffle", "wasm_i16x8_shuffle") \
|
|
1610
|
+
wasm_i16x8_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7)
|
|
1611
|
+
|
|
1612
|
+
#define wasm_v32x4_shuffle(__a, __b, __c0, __c1, __c2, __c3) \
|
|
1613
|
+
__DEPRECATED_WASM_MACRO("wasm_v32x4_shuffle", "wasm_i32x4_shuffle") \
|
|
1614
|
+
wasm_i32x4_shuffle(__a, __b, __c0, __c1, __c2, __c3)
|
|
1615
|
+
|
|
1616
|
+
#define wasm_v64x2_shuffle(__a, __b, __c0, __c1) \
|
|
1617
|
+
__DEPRECATED_WASM_MACRO("wasm_v64x2_shuffle", "wasm_i64x2_shuffle") \
|
|
1618
|
+
wasm_i64x2_shuffle(__a, __b, __c0, __c1)
|
|
1619
|
+
|
|
1620
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i8x16_swizzle")
|
|
1621
|
+
wasm_v8x16_swizzle(v128_t __a, v128_t __b) {
|
|
1622
|
+
return wasm_i8x16_swizzle(__a, __b);
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1625
|
+
static __inline__ bool __DEPRECATED_FN_ATTRS("wasm_v128_any_true")
|
|
1626
|
+
wasm_i8x16_any_true(v128_t __a) {
|
|
1627
|
+
return wasm_v128_any_true(__a);
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
static __inline__ bool __DEPRECATED_FN_ATTRS("wasm_v128_any_true")
|
|
1631
|
+
wasm_i16x8_any_true(v128_t __a) {
|
|
1632
|
+
return wasm_v128_any_true(__a);
|
|
1633
|
+
}
|
|
1634
|
+
|
|
1635
|
+
static __inline__ bool __DEPRECATED_FN_ATTRS("wasm_v128_any_true")
|
|
1636
|
+
wasm_i32x4_any_true(v128_t __a) {
|
|
1637
|
+
return wasm_v128_any_true(__a);
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i8x16_add_sat")
|
|
1641
|
+
wasm_i8x16_add_saturate(v128_t __a, v128_t __b) {
|
|
1642
|
+
return wasm_i8x16_add_sat(__a, __b);
|
|
1643
|
+
}
|
|
1644
|
+
|
|
1645
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u8x16_add_sat")
|
|
1646
|
+
wasm_u8x16_add_saturate(v128_t __a, v128_t __b) {
|
|
1647
|
+
return wasm_u8x16_add_sat(__a, __b);
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i8x16_sub_sat")
|
|
1651
|
+
wasm_i8x16_sub_saturate(v128_t __a, v128_t __b) {
|
|
1652
|
+
return wasm_i8x16_sub_sat(__a, __b);
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u8x16_sub_sat")
|
|
1656
|
+
wasm_u8x16_sub_saturate(v128_t __a, v128_t __b) {
|
|
1657
|
+
return wasm_u8x16_sub_sat(__a, __b);
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_add_sat")
|
|
1661
|
+
wasm_i16x8_add_saturate(v128_t __a, v128_t __b) {
|
|
1662
|
+
return wasm_i16x8_add_sat(__a, __b);
|
|
1663
|
+
}
|
|
1664
|
+
|
|
1665
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_add_sat")
|
|
1666
|
+
wasm_u16x8_add_saturate(v128_t __a, v128_t __b) {
|
|
1667
|
+
return wasm_u16x8_add_sat(__a, __b);
|
|
1668
|
+
}
|
|
1669
|
+
|
|
1670
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_sub_sat")
|
|
1671
|
+
wasm_i16x8_sub_saturate(v128_t __a, v128_t __b) {
|
|
1672
|
+
return wasm_i16x8_sub_sat(__a, __b);
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_sub_sat")
|
|
1676
|
+
wasm_u16x8_sub_saturate(v128_t __a, v128_t __b) {
|
|
1677
|
+
return wasm_u16x8_sub_sat(__a, __b);
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1680
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_extend_low_i8x16")
|
|
1681
|
+
wasm_i16x8_widen_low_i8x16(v128_t __a) {
|
|
1682
|
+
return wasm_i16x8_extend_low_i8x16(__a);
|
|
1683
|
+
}
|
|
1684
|
+
|
|
1685
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i16x8_extend_high_i8x16")
|
|
1686
|
+
wasm_i16x8_widen_high_i8x16(v128_t __a) {
|
|
1687
|
+
return wasm_i16x8_extend_high_i8x16(__a);
|
|
1688
|
+
}
|
|
1689
|
+
|
|
1690
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_extend_low_u8x16")
|
|
1691
|
+
wasm_i16x8_widen_low_u8x16(v128_t __a) {
|
|
1692
|
+
return wasm_u16x8_extend_low_u8x16(__a);
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u16x8_extend_high_u8x16")
|
|
1696
|
+
wasm_i16x8_widen_high_u8x16(v128_t __a) {
|
|
1697
|
+
return wasm_u16x8_extend_high_u8x16(__a);
|
|
1698
|
+
}
|
|
1699
|
+
|
|
1700
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i32x4_extend_low_i16x8")
|
|
1701
|
+
wasm_i32x4_widen_low_i16x8(v128_t __a) {
|
|
1702
|
+
return wasm_i32x4_extend_low_i16x8(__a);
|
|
1703
|
+
}
|
|
1704
|
+
|
|
1705
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i32x4_extend_high_i16x8")
|
|
1706
|
+
wasm_i32x4_widen_high_i16x8(v128_t __a) {
|
|
1707
|
+
return wasm_i32x4_extend_high_i16x8(__a);
|
|
1708
|
+
}
|
|
1709
|
+
|
|
1710
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u32x4_extend_low_u16x8")
|
|
1711
|
+
wasm_i32x4_widen_low_u16x8(v128_t __a) {
|
|
1712
|
+
return wasm_u32x4_extend_low_u16x8(__a);
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u32x4_extend_high_u16x8")
|
|
1716
|
+
wasm_i32x4_widen_high_u16x8(v128_t __a) {
|
|
1717
|
+
return wasm_u32x4_extend_high_u16x8(__a);
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_i32x4_trunc_sat_f32x4")
|
|
1721
|
+
wasm_i32x4_trunc_saturate_f32x4(v128_t __a) {
|
|
1722
|
+
return wasm_i32x4_trunc_sat_f32x4(__a);
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
static __inline__ v128_t __DEPRECATED_FN_ATTRS("wasm_u32x4_trunc_sat_f32x4")
|
|
1726
|
+
wasm_u32x4_trunc_saturate_f32x4(v128_t __a) {
|
|
1727
|
+
return wasm_u32x4_trunc_sat_f32x4(__a);
|
|
1728
|
+
}
|
|
1729
|
+
|
|
1164
1730
|
// Undefine helper macros
|
|
1165
1731
|
#undef __DEFAULT_FN_ATTRS
|
|
1732
|
+
#undef __DEPRECATED_FN_ATTRS
|
|
1166
1733
|
|
|
1167
1734
|
#endif // __WASM_SIMD128_H
|