@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.
Files changed (171) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_device_functions.h +174 -102
  4. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_runtime_wrapper.h +6 -1
  5. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_cmath.h +272 -94
  6. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_libdevice_declares.h +24 -12
  7. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_math.h +48 -2
  8. package/lib/clang/13.0.0/include/__clang_hip_runtime_wrapper.h +124 -0
  9. package/lib/clang/{12.0.1 → 13.0.0}/include/altivec.h +1165 -423
  10. package/lib/clang/{12.0.1 → 13.0.0}/include/amxintrin.h +234 -19
  11. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_acle.h +55 -0
  12. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_neon.h +1077 -165
  13. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_sve.h +11791 -5896
  14. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512fintrin.h +177 -37
  15. package/lib/clang/13.0.0/include/builtins.h +16 -0
  16. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/complex +8 -0
  17. package/lib/clang/13.0.0/include/hexagon_circ_brev_intrinsics.h +298 -0
  18. package/lib/clang/13.0.0/include/hexagon_protos.h +8450 -0
  19. package/lib/clang/13.0.0/include/hexagon_types.h +2653 -0
  20. package/lib/clang/13.0.0/include/hvx_hexagon_protos.h +4392 -0
  21. package/lib/clang/{12.0.1 → 13.0.0}/include/intrin.h +44 -8
  22. package/lib/clang/{12.0.1 → 13.0.0}/include/keylockerintrin.h +30 -0
  23. package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c-base.h +144 -3
  24. package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c.h +505 -355
  25. package/lib/clang/13.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
  26. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/cmath +54 -0
  27. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex +1 -7
  28. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex.h +0 -1
  29. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/math.h +10 -0
  30. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/new +2 -24
  31. package/lib/clang/13.0.0/include/riscv_vector.h +123865 -0
  32. package/lib/clang/{12.0.1 → 13.0.0}/include/uintrintrin.h +7 -0
  33. package/lib/clang/{12.0.1 → 13.0.0}/include/vaesintrin.h +21 -20
  34. package/lib/clang/{12.0.1 → 13.0.0}/include/vecintrin.h +206 -77
  35. package/lib/clang/{12.0.1 → 13.0.0}/include/vpclmulqdqintrin.h +2 -0
  36. package/lib/clang/{12.0.1 → 13.0.0}/include/wasm_simd128.h +806 -239
  37. package/package.json +6 -6
  38. package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
  39. package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
  40. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
  41. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_cmath.h +0 -0
  42. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_complex_builtins.h +0 -0
  43. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_intrinsics.h +0 -0
  44. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_libdevice_declares.h +0 -0
  45. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math.h +2 -2
  46. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
  47. package/lib/clang/{12.0.1 → 13.0.0}/include/__stddef_max_align_t.h +0 -0
  48. package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_aes.h +0 -0
  49. package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_pclmul.h +0 -0
  50. package/lib/clang/{12.0.1 → 13.0.0}/include/adxintrin.h +0 -0
  51. package/lib/clang/{12.0.1 → 13.0.0}/include/ammintrin.h +0 -0
  52. package/lib/clang/{12.0.1 → 13.0.0}/include/arm64intr.h +0 -0
  53. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_bf16.h +0 -0
  54. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cde.h +0 -0
  55. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cmse.h +0 -0
  56. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_fp16.h +0 -0
  57. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_mve.h +0 -0
  58. package/lib/clang/{12.0.1 → 13.0.0}/include/armintr.h +0 -0
  59. package/lib/clang/{12.0.1 → 13.0.0}/include/avx2intrin.h +0 -0
  60. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bf16intrin.h +0 -0
  61. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bitalgintrin.h +0 -0
  62. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bwintrin.h +0 -0
  63. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512cdintrin.h +0 -0
  64. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512dqintrin.h +0 -0
  65. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512erintrin.h +0 -0
  66. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmaintrin.h +0 -0
  67. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmavlintrin.h +0 -0
  68. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512pfintrin.h +0 -0
  69. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmi2intrin.h +0 -0
  70. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmiintrin.h +0 -0
  71. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmivlintrin.h +0 -0
  72. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbf16intrin.h +0 -0
  73. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbitalgintrin.h +0 -0
  74. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbwintrin.h +0 -0
  75. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlcdintrin.h +0 -0
  76. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vldqintrin.h +0 -0
  77. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlintrin.h +0 -0
  78. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvbmi2intrin.h +0 -0
  79. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvnniintrin.h +0 -0
  80. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
  81. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vnniintrin.h +0 -0
  82. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vp2intersectintrin.h +0 -0
  83. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqintrin.h +0 -0
  84. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
  85. package/lib/clang/{12.0.1 → 13.0.0}/include/avxintrin.h +0 -0
  86. package/lib/clang/{12.0.1 → 13.0.0}/include/avxvnniintrin.h +0 -0
  87. package/lib/clang/{12.0.1 → 13.0.0}/include/bmi2intrin.h +0 -0
  88. package/lib/clang/{12.0.1 → 13.0.0}/include/bmiintrin.h +0 -0
  89. package/lib/clang/{12.0.1 → 13.0.0}/include/cet.h +0 -0
  90. package/lib/clang/{12.0.1 → 13.0.0}/include/cetintrin.h +0 -0
  91. package/lib/clang/{12.0.1 → 13.0.0}/include/cldemoteintrin.h +0 -0
  92. package/lib/clang/{12.0.1 → 13.0.0}/include/clflushoptintrin.h +0 -0
  93. package/lib/clang/{12.0.1 → 13.0.0}/include/clwbintrin.h +0 -0
  94. package/lib/clang/{12.0.1 → 13.0.0}/include/clzerointrin.h +0 -0
  95. package/lib/clang/{12.0.1 → 13.0.0}/include/cpuid.h +0 -0
  96. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/algorithm +0 -0
  97. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/new +0 -0
  98. package/lib/clang/{12.0.1 → 13.0.0}/include/emmintrin.h +0 -0
  99. package/lib/clang/{12.0.1 → 13.0.0}/include/enqcmdintrin.h +0 -0
  100. package/lib/clang/{12.0.1 → 13.0.0}/include/f16cintrin.h +0 -0
  101. package/lib/clang/{12.0.1 → 13.0.0}/include/float.h +0 -0
  102. package/lib/clang/{12.0.1 → 13.0.0}/include/fma4intrin.h +0 -0
  103. package/lib/clang/{12.0.1 → 13.0.0}/include/fmaintrin.h +0 -0
  104. package/lib/clang/{12.0.1 → 13.0.0}/include/fxsrintrin.h +0 -0
  105. package/lib/clang/{12.0.1 → 13.0.0}/include/gfniintrin.h +0 -0
  106. package/lib/clang/{12.0.1 → 13.0.0}/include/hresetintrin.h +0 -0
  107. package/lib/clang/{12.0.1 → 13.0.0}/include/htmintrin.h +0 -0
  108. package/lib/clang/{12.0.1 → 13.0.0}/include/htmxlintrin.h +0 -0
  109. package/lib/clang/{12.0.1 → 13.0.0}/include/ia32intrin.h +0 -0
  110. package/lib/clang/{12.0.1 → 13.0.0}/include/immintrin.h +5 -5
  111. /package/lib/clang/{12.0.1 → 13.0.0}/include/inttypes.h +0 -0
  112. /package/lib/clang/{12.0.1 → 13.0.0}/include/invpcidintrin.h +0 -0
  113. /package/lib/clang/{12.0.1 → 13.0.0}/include/iso646.h +0 -0
  114. /package/lib/clang/{12.0.1 → 13.0.0}/include/limits.h +0 -0
  115. /package/lib/clang/{12.0.1 → 13.0.0}/include/lwpintrin.h +0 -0
  116. /package/lib/clang/{12.0.1 → 13.0.0}/include/lzcntintrin.h +0 -0
  117. /package/lib/clang/{12.0.1 → 13.0.0}/include/mm3dnow.h +0 -0
  118. /package/lib/clang/{12.0.1 → 13.0.0}/include/mm_malloc.h +0 -0
  119. /package/lib/clang/{12.0.1 → 13.0.0}/include/mmintrin.h +0 -0
  120. /package/lib/clang/{12.0.1 → 13.0.0}/include/module.modulemap +0 -0
  121. /package/lib/clang/{12.0.1 → 13.0.0}/include/movdirintrin.h +0 -0
  122. /package/lib/clang/{12.0.1 → 13.0.0}/include/msa.h +0 -0
  123. /package/lib/clang/{12.0.1 → 13.0.0}/include/mwaitxintrin.h +0 -0
  124. /package/lib/clang/{12.0.1 → 13.0.0}/include/nmmintrin.h +0 -0
  125. /package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
  126. /package/lib/clang/{12.0.1 → 13.0.0}/include/pconfigintrin.h +0 -0
  127. /package/lib/clang/{12.0.1 → 13.0.0}/include/pkuintrin.h +0 -0
  128. /package/lib/clang/{12.0.1 → 13.0.0}/include/pmmintrin.h +0 -0
  129. /package/lib/clang/{12.0.1 → 13.0.0}/include/popcntintrin.h +0 -0
  130. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/emmintrin.h +0 -0
  131. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mm_malloc.h +0 -0
  132. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mmintrin.h +0 -0
  133. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/pmmintrin.h +0 -0
  134. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/smmintrin.h +0 -0
  135. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/tmmintrin.h +0 -0
  136. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/xmmintrin.h +0 -0
  137. /package/lib/clang/{12.0.1 → 13.0.0}/include/prfchwintrin.h +0 -0
  138. /package/lib/clang/{12.0.1 → 13.0.0}/include/ptwriteintrin.h +0 -0
  139. /package/lib/clang/{12.0.1 → 13.0.0}/include/rdseedintrin.h +0 -0
  140. /package/lib/clang/{12.0.1 → 13.0.0}/include/rtmintrin.h +0 -0
  141. /package/lib/clang/{12.0.1 → 13.0.0}/include/s390intrin.h +0 -0
  142. /package/lib/clang/{12.0.1 → 13.0.0}/include/serializeintrin.h +0 -0
  143. /package/lib/clang/{12.0.1 → 13.0.0}/include/sgxintrin.h +0 -0
  144. /package/lib/clang/{12.0.1 → 13.0.0}/include/shaintrin.h +0 -0
  145. /package/lib/clang/{12.0.1 → 13.0.0}/include/smmintrin.h +0 -0
  146. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdalign.h +0 -0
  147. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdarg.h +0 -0
  148. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdatomic.h +0 -0
  149. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdbool.h +0 -0
  150. /package/lib/clang/{12.0.1 → 13.0.0}/include/stddef.h +0 -0
  151. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdint.h +0 -0
  152. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdnoreturn.h +0 -0
  153. /package/lib/clang/{12.0.1 → 13.0.0}/include/tbmintrin.h +0 -0
  154. /package/lib/clang/{12.0.1 → 13.0.0}/include/tgmath.h +0 -0
  155. /package/lib/clang/{12.0.1 → 13.0.0}/include/tmmintrin.h +0 -0
  156. /package/lib/clang/{12.0.1 → 13.0.0}/include/tsxldtrkintrin.h +0 -0
  157. /package/lib/clang/{12.0.1 → 13.0.0}/include/unwind.h +0 -0
  158. /package/lib/clang/{12.0.1 → 13.0.0}/include/vadefs.h +0 -0
  159. /package/lib/clang/{12.0.1 → 13.0.0}/include/varargs.h +0 -0
  160. /package/lib/clang/{12.0.1 → 13.0.0}/include/waitpkgintrin.h +0 -0
  161. /package/lib/clang/{12.0.1 → 13.0.0}/include/wbnoinvdintrin.h +0 -0
  162. /package/lib/clang/{12.0.1 → 13.0.0}/include/wmmintrin.h +0 -0
  163. /package/lib/clang/{12.0.1 → 13.0.0}/include/x86gprintrin.h +0 -0
  164. /package/lib/clang/{12.0.1 → 13.0.0}/include/x86intrin.h +0 -0
  165. /package/lib/clang/{12.0.1 → 13.0.0}/include/xmmintrin.h +0 -0
  166. /package/lib/clang/{12.0.1 → 13.0.0}/include/xopintrin.h +0 -0
  167. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavecintrin.h +0 -0
  168. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveintrin.h +0 -0
  169. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveoptintrin.h +0 -0
  170. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavesintrin.h +0 -0
  171. /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(e) \
49
- _Static_assert(__builtin_constant_p(e), "Expected constant")
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
- wasm_v8x16_load_splat(const void *__mem) {
61
- struct __wasm_v8x16_load_splat_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 __wasm_v8x16_load_splat_struct *)__mem)->__v;
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
- wasm_v16x8_load_splat(const void *__mem) {
71
- struct __wasm_v16x8_load_splat_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 __wasm_v16x8_load_splat_struct *)__mem)->__v;
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
- wasm_v32x4_load_splat(const void *__mem) {
80
- struct __wasm_v32x4_load_splat_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 __wasm_v32x4_load_splat_struct *)__mem)->__v;
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
- wasm_v64x2_load_splat(const void *__mem) {
89
- struct __wasm_v64x2_load_splat_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 __wasm_v64x2_load_splat_struct *)__mem)->__v;
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
- wasm_i16x8_load_8x8(const void *__mem) {
98
- typedef int8_t __i8x8 __attribute__((__vector_size__(8), __aligned__(8)));
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 __wasm_i16x8_load_8x8_struct *)__mem)->__v;
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
- wasm_u16x8_load_8x8(const void *__mem) {
108
- typedef uint8_t __u8x8 __attribute__((__vector_size__(8), __aligned__(8)));
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 __wasm_u16x8_load_8x8_struct *)__mem)->__v;
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
- wasm_i32x4_load_16x4(const void *__mem) {
118
- typedef int16_t __i16x4 __attribute__((__vector_size__(8), __aligned__(8)));
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 __wasm_i32x4_load_16x4_struct *)__mem)->__v;
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
- wasm_u32x4_load_16x4(const void *__mem) {
128
- typedef uint16_t __u16x4 __attribute__((__vector_size__(8), __aligned__(8)));
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 __wasm_u32x4_load_16x4_struct *)__mem)->__v;
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
- wasm_i64x2_load_32x2(const void *__mem) {
138
- typedef int32_t __i32x2 __attribute__((__vector_size__(8), __aligned__(8)));
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 __wasm_i64x2_load_32x2_struct *)__mem)->__v;
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
- wasm_u64x2_load_32x2(const void *__mem) {
148
- typedef uint32_t __u32x2 __attribute__((__vector_size__(8), __aligned__(8)));
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 __wasm_u64x2_load_32x2_struct *)__mem)->__v;
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 wasm_i64x2_make(int64_t __c0,
196
- int64_t __c1) {
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 wasm_f64x2_make(double __c0,
201
- double __c1) {
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
- #define wasm_i8x16_const(__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7, __c8, \
206
- __c9, __c10, __c11, __c12, __c13, __c14, __c15) \
207
- __extension__({ \
208
- __REQUIRE_CONSTANT(__c0); \
209
- __REQUIRE_CONSTANT(__c1); \
210
- __REQUIRE_CONSTANT(__c2); \
211
- __REQUIRE_CONSTANT(__c3); \
212
- __REQUIRE_CONSTANT(__c4); \
213
- __REQUIRE_CONSTANT(__c5); \
214
- __REQUIRE_CONSTANT(__c6); \
215
- __REQUIRE_CONSTANT(__c7); \
216
- __REQUIRE_CONSTANT(__c8); \
217
- __REQUIRE_CONSTANT(__c9); \
218
- __REQUIRE_CONSTANT(__c10); \
219
- __REQUIRE_CONSTANT(__c11); \
220
- __REQUIRE_CONSTANT(__c12); \
221
- __REQUIRE_CONSTANT(__c13); \
222
- __REQUIRE_CONSTANT(__c14); \
223
- __REQUIRE_CONSTANT(__c15); \
224
- (v128_t)(__i8x16){__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7, \
225
- __c8, __c9, __c10, __c11, __c12, __c13, __c14, __c15}; \
226
- })
227
-
228
- #define wasm_i16x8_const(__c0, __c1, __c2, __c3, __c4, __c5, __c6, __c7) \
229
- __extension__({ \
230
- __REQUIRE_CONSTANT(__c0); \
231
- __REQUIRE_CONSTANT(__c1); \
232
- __REQUIRE_CONSTANT(__c2); \
233
- __REQUIRE_CONSTANT(__c3); \
234
- __REQUIRE_CONSTANT(__c4); \
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
- #define wasm_i8x16_extract_lane(__a, __i) \
279
- (__builtin_wasm_extract_lane_s_i8x16((__i8x16)(__a), __i))
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
- #define wasm_u8x16_extract_lane(__a, __i) \
282
- (__builtin_wasm_extract_lane_u_i8x16((__u8x16)(__a), __i))
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
- #define wasm_i8x16_replace_lane(__a, __i, __b) \
285
- ((v128_t)__builtin_wasm_replace_lane_i8x16((__i8x16)(__a), __i, __b))
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
- #define wasm_i16x8_extract_lane(__a, __i) \
292
- (__builtin_wasm_extract_lane_s_i16x8((__i16x8)(__a), __i))
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
- #define wasm_u16x8_extract_lane(__a, __i) \
295
- (__builtin_wasm_extract_lane_u_i16x8((__u16x8)(__a), __i))
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
- #define wasm_i16x8_replace_lane(__a, __i, __b) \
298
- ((v128_t)__builtin_wasm_replace_lane_i16x8((__i16x8)(__a), __i, __b))
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
- #define wasm_i32x4_extract_lane(__a, __i) \
305
- (__builtin_wasm_extract_lane_i32x4((__i32x4)(__a), __i))
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
- #define wasm_i32x4_replace_lane(__a, __i, __b) \
308
- ((v128_t)__builtin_wasm_replace_lane_i32x4((__i32x4)(__a), __i, __b))
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
- #define wasm_i64x2_extract_lane(__a, __i) \
315
- (__builtin_wasm_extract_lane_i64x2((__i64x2)(__a), __i))
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
- #define wasm_i64x2_replace_lane(__a, __i, __b) \
318
- ((v128_t)__builtin_wasm_replace_lane_i64x2((__i64x2)(__a), __i, __b))
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
- #define wasm_f32x4_extract_lane(__a, __i) \
325
- (__builtin_wasm_extract_lane_f32x4((__f32x4)(__a), __i))
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
- #define wasm_f32x4_replace_lane(__a, __i, __b) \
328
- ((v128_t)__builtin_wasm_replace_lane_f32x4((__f32x4)(__a), __i, __b))
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
- #define wasm_f64x2_extract_lane(__a, __i) \
335
- (__builtin_wasm_extract_lane_f64x2((__f64x2)(__a), __i))
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
- #define wasm_f64x2_replace_lane(__a, __i, __b) \
338
- ((v128_t)__builtin_wasm_replace_lane_f64x2((__f64x2)(__a), __i, __b))
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
- wasm_i8x16_add_saturate(v128_t __a, v128_t __b) {
619
- return (v128_t)__builtin_wasm_add_saturate_s_i8x16((__i8x16)__a,
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
- wasm_u8x16_add_saturate(v128_t __a, v128_t __b) {
625
- return (v128_t)__builtin_wasm_add_saturate_u_i8x16((__u8x16)__a,
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
- wasm_i8x16_sub_saturate(v128_t __a, v128_t __b) {
636
- return (v128_t)__builtin_wasm_sub_saturate_s_i8x16((__i8x16)__a,
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
- wasm_u8x16_sub_saturate(v128_t __a, v128_t __b) {
642
- return (v128_t)__builtin_wasm_sub_saturate_u_i8x16((__u8x16)__a,
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
- wasm_i16x8_add_saturate(v128_t __a, v128_t __b) {
709
- return (v128_t)__builtin_wasm_add_saturate_s_i16x8((__i16x8)__a,
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
- wasm_u16x8_add_saturate(v128_t __a, v128_t __b) {
715
- return (v128_t)__builtin_wasm_add_saturate_u_i16x8((__u16x8)__a,
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
- wasm_i16x8_sub_saturate(v128_t __a, v128_t __b) {
726
- return (v128_t)__builtin_wasm_sub_saturate_s_i16x8((__i16x8)__a,
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
- wasm_u16x8_sub_saturate(v128_t __a, v128_t __b) {
732
- return (v128_t)__builtin_wasm_sub_saturate_u_i16x8((__u16x8)__a,
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 wasm_i64x2_neg(v128_t __a) {
833
- return (v128_t)(-(__u64x2)__a);
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
- #ifdef __wasm_unimplemented_simd128__
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__ bool __DEFAULT_FN_ATTRS wasm_i64x2_any_true(v128_t __a) {
839
- return __builtin_wasm_any_true_i64x2((__i64x2)__a);
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
- #endif // __wasm_unimplemented_simd128__
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
- #ifdef __wasm_unimplemented_simd128__
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 wasm_f32x4_qfma(v128_t __a,
893
- v128_t __b,
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 wasm_f32x4_qfms(v128_t __a,
900
- v128_t __b,
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
- #endif // __wasm_unimplemented_simd128__
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
- return (v128_t)__builtin_wasm_pmin_f32x4((__f32x4)__a, (__f32x4)__b);
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
- return (v128_t)__builtin_wasm_pmax_f32x4((__f32x4)__a, (__f32x4)__b);
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
- #ifdef __wasm_unimplemented_simd128__
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 wasm_f64x2_qfma(v128_t __a,
963
- v128_t __b,
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 wasm_f64x2_qfms(v128_t __a,
970
- v128_t __b,
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
- #endif // __wasm_unimplemented_simd128__
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
- return (v128_t)__builtin_wasm_pmin_f64x2((__f64x2)__a, (__f64x2)__b);
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
- return (v128_t)__builtin_wasm_pmax_f64x2((__f64x2)__a, (__f64x2)__b);
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
- wasm_i32x4_trunc_saturate_f32x4(v128_t __a) {
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
- wasm_u32x4_trunc_saturate_f32x4(v128_t __a) {
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
- #define wasm_v8x16_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
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)__builtin_wasm_shuffle_v8x16( \
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 wasm_v16x8_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
1293
+ #define wasm_i16x8_shuffle(__a, __b, __c0, __c1, __c2, __c3, __c4, __c5, __c6, \
1046
1294
  __c7) \
1047
- ((v128_t)__builtin_wasm_shuffle_v8x16( \
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 wasm_v32x4_shuffle(__a, __b, __c0, __c1, __c2, __c3) \
1054
- ((v128_t)__builtin_wasm_shuffle_v8x16( \
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 wasm_v64x2_shuffle(__a, __b, __c0, __c1) \
1061
- ((v128_t)__builtin_wasm_shuffle_v8x16( \
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 wasm_v8x16_swizzle(v128_t __a,
1315
+ static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_swizzle(v128_t __a,
1068
1316
  v128_t __b) {
1069
- return (v128_t)__builtin_wasm_swizzle_v8x16((__i8x16)__a, (__i8x16)__b);
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((__u16x8)__a,
1081
- (__u16x8)__b);
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((__u32x4)__a,
1093
- (__u32x4)__b);
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
- wasm_i16x8_widen_low_i8x16(v128_t __a) {
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
- wasm_i16x8_widen_high_i8x16(v128_t __a) {
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
- wasm_i16x8_widen_low_u8x16(v128_t __a) {
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
- wasm_i16x8_widen_high_u8x16(v128_t __a) {
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
- wasm_i32x4_widen_low_i16x8(v128_t __a) {
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
- wasm_i32x4_widen_high_i16x8(v128_t __a) {
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
- wasm_i32x4_widen_low_u16x8(v128_t __a) {
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
- wasm_i32x4_widen_high_u16x8(v128_t __a) {
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