diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-11-04 15:44:19 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-04 15:44:19 -0800 |
commit | 368f8a743c8322c3a01633f0cfa8ce205d58fb49 (patch) | |
tree | 3cf09812f83b13d6c7dd87cc0359fd7e024ad0a4 /test/simd.wast.from-wast | |
parent | 74526f3effdab0d5bca9cb122989335b6527e76f (diff) | |
download | binaryen-368f8a743c8322c3a01633f0cfa8ce205d58fb49.tar.gz binaryen-368f8a743c8322c3a01633f0cfa8ce205d58fb49.tar.bz2 binaryen-368f8a743c8322c3a01633f0cfa8ce205d58fb49.zip |
Add i32x4.dot_i16x8_s (#2420)
This experimental instruction is specified in
https://github.com/WebAssembly/simd/pull/127 and is being implemented
to enable further investigation of its performance impact.
Diffstat (limited to 'test/simd.wast.from-wast')
-rw-r--r-- | test/simd.wast.from-wast | 128 |
1 files changed, 67 insertions, 61 deletions
diff --git a/test/simd.wast.from-wast b/test/simd.wast.from-wast index 9cbf42d71..b5914a62d 100644 --- a/test/simd.wast.from-wast +++ b/test/simd.wast.from-wast @@ -713,336 +713,342 @@ (local.get $1) ) ) - (func $i64x2.neg (; 123 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i32x4.dot_i16x8_s (; 123 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (i32x4.dot_i16x8_s + (local.get $0) + (local.get $1) + ) + ) + (func $i64x2.neg (; 124 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i64x2.neg (local.get $0) ) ) - (func $i64x2.any_true (; 124 ;) (type $FUNCSIG$iV) (param $0 v128) (result i32) + (func $i64x2.any_true (; 125 ;) (type $FUNCSIG$iV) (param $0 v128) (result i32) (i64x2.any_true (local.get $0) ) ) - (func $i64x2.all_true (; 125 ;) (type $FUNCSIG$iV) (param $0 v128) (result i32) + (func $i64x2.all_true (; 126 ;) (type $FUNCSIG$iV) (param $0 v128) (result i32) (i64x2.all_true (local.get $0) ) ) - (func $i64x2.shl (; 126 ;) (type $FUNCSIG$VVi) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shl (; 127 ;) (type $FUNCSIG$VVi) (param $0 v128) (param $1 i32) (result v128) (i64x2.shl (local.get $0) (local.get $1) ) ) - (func $i64x2.shr_s (; 127 ;) (type $FUNCSIG$VVi) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shr_s (; 128 ;) (type $FUNCSIG$VVi) (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_s (local.get $0) (local.get $1) ) ) - (func $i64x2.shr_u (; 128 ;) (type $FUNCSIG$VVi) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shr_u (; 129 ;) (type $FUNCSIG$VVi) (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_u (local.get $0) (local.get $1) ) ) - (func $i64x2.add (; 129 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $i64x2.add (; 130 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (i64x2.add (local.get $0) (local.get $1) ) ) - (func $i64x2.sub (; 130 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $i64x2.sub (; 131 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (i64x2.sub (local.get $0) (local.get $1) ) ) - (func $f32x4.add (; 131 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.add (; 132 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f32x4.add (local.get $0) (local.get $1) ) ) - (func $f32x4.sub (; 132 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.sub (; 133 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f32x4.sub (local.get $0) (local.get $1) ) ) - (func $f32x4.mul (; 133 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.mul (; 134 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f32x4.mul (local.get $0) (local.get $1) ) ) - (func $f32x4.div (; 134 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.div (; 135 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f32x4.div (local.get $0) (local.get $1) ) ) - (func $f32x4.min (; 135 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.min (; 136 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f32x4.min (local.get $0) (local.get $1) ) ) - (func $f32x4.max (; 136 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.max (; 137 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f32x4.max (local.get $0) (local.get $1) ) ) - (func $f32x4.abs (; 137 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f32x4.abs (; 138 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f32x4.abs (local.get $0) ) ) - (func $f32x4.neg (; 138 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f32x4.neg (; 139 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f32x4.neg (local.get $0) ) ) - (func $f32x4.sqrt (; 139 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f32x4.sqrt (; 140 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f32x4.sqrt (local.get $0) ) ) - (func $f32x4.qfma (; 140 ;) (type $FUNCSIG$VVVV) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f32x4.qfma (; 141 ;) (type $FUNCSIG$VVVV) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f32x4.qfms (; 141 ;) (type $FUNCSIG$VVVV) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f32x4.qfms (; 142 ;) (type $FUNCSIG$VVVV) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f64x2.add (; 142 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.add (; 143 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f64x2.add (local.get $0) (local.get $1) ) ) - (func $f64x2.sub (; 143 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.sub (; 144 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f64x2.sub (local.get $0) (local.get $1) ) ) - (func $f64x2.mul (; 144 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.mul (; 145 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f64x2.mul (local.get $0) (local.get $1) ) ) - (func $f64x2.div (; 145 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.div (; 146 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f64x2.div (local.get $0) (local.get $1) ) ) - (func $f64x2.min (; 146 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.min (; 147 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f64x2.min (local.get $0) (local.get $1) ) ) - (func $f64x2.max (; 147 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.max (; 148 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (f64x2.max (local.get $0) (local.get $1) ) ) - (func $f64x2.abs (; 148 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f64x2.abs (; 149 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f64x2.abs (local.get $0) ) ) - (func $f64x2.neg (; 149 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f64x2.neg (; 150 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f64x2.neg (local.get $0) ) ) - (func $f64x2.sqrt (; 150 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f64x2.sqrt (; 151 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f64x2.sqrt (local.get $0) ) ) - (func $f64x2.qfma (; 151 ;) (type $FUNCSIG$VVVV) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f64x2.qfma (; 152 ;) (type $FUNCSIG$VVVV) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f64x2.qfms (; 152 ;) (type $FUNCSIG$VVVV) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f64x2.qfms (; 153 ;) (type $FUNCSIG$VVVV) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $i32x4.trunc_sat_f32x4_s (; 153 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i32x4.trunc_sat_f32x4_s (; 154 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_s (local.get $0) ) ) - (func $i32x4.trunc_sat_f32x4_u (; 154 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i32x4.trunc_sat_f32x4_u (; 155 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_u (local.get $0) ) ) - (func $i64x2.trunc_sat_f64x2_s (; 155 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i64x2.trunc_sat_f64x2_s (; 156 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_s (local.get $0) ) ) - (func $i64x2.trunc_sat_f64x2_u (; 156 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i64x2.trunc_sat_f64x2_u (; 157 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_u (local.get $0) ) ) - (func $f32x4.convert_i32x4_s (; 157 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f32x4.convert_i32x4_s (; 158 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f32x4.convert_i32x4_s (local.get $0) ) ) - (func $f32x4.convert_i32x4_u (; 158 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f32x4.convert_i32x4_u (; 159 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f32x4.convert_i32x4_u (local.get $0) ) ) - (func $f64x2.convert_i64x2_s (; 159 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f64x2.convert_i64x2_s (; 160 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f64x2.convert_i64x2_s (local.get $0) ) ) - (func $f64x2.convert_i64x2_u (; 160 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $f64x2.convert_i64x2_u (; 161 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (f64x2.convert_i64x2_u (local.get $0) ) ) - (func $v8x16.load_splat (; 161 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $v8x16.load_splat (; 162 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (v8x16.load_splat (local.get $0) ) ) - (func $v16x8.load_splat (; 162 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $v16x8.load_splat (; 163 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (v16x8.load_splat (local.get $0) ) ) - (func $v32x4.load_splat (; 163 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $v32x4.load_splat (; 164 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (v32x4.load_splat (local.get $0) ) ) - (func $v64x2.load_splat (; 164 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $v64x2.load_splat (; 165 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (v64x2.load_splat (local.get $0) ) ) - (func $i8x16.narrow_i16x8_s (; 165 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $i8x16.narrow_i16x8_s (; 166 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_s (local.get $0) (local.get $1) ) ) - (func $i8x16.narrow_i16x8_u (; 166 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $i8x16.narrow_i16x8_u (; 167 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_u (local.get $0) (local.get $1) ) ) - (func $i16x8.narrow_i32x4_s (; 167 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.narrow_i32x4_s (; 168 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_s (local.get $0) (local.get $1) ) ) - (func $i16x8.narrow_i32x4_u (; 168 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.narrow_i32x4_u (; 169 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_u (local.get $0) (local.get $1) ) ) - (func $i16x8.widen_low_i8x16_s (; 169 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i16x8.widen_low_i8x16_s (; 170 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i16x8.widen_low_i8x16_s (local.get $0) ) ) - (func $i16x8.widen_high_i8x16_s (; 170 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i16x8.widen_high_i8x16_s (; 171 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i16x8.widen_high_i8x16_s (local.get $0) ) ) - (func $i16x8.widen_low_i8x16_u (; 171 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i16x8.widen_low_i8x16_u (; 172 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i16x8.widen_low_i8x16_u (local.get $0) ) ) - (func $i16x8.widen_high_i8x16_u (; 172 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i16x8.widen_high_i8x16_u (; 173 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i16x8.widen_high_i8x16_u (local.get $0) ) ) - (func $i32x4.widen_low_i16x8_s (; 173 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i32x4.widen_low_i16x8_s (; 174 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i32x4.widen_low_i16x8_s (local.get $0) ) ) - (func $i32x4.widen_high_i16x8_s (; 174 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i32x4.widen_high_i16x8_s (; 175 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i32x4.widen_high_i16x8_s (local.get $0) ) ) - (func $i32x4.widen_low_i16x8_u (; 175 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i32x4.widen_low_i16x8_u (; 176 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i32x4.widen_low_i16x8_u (local.get $0) ) ) - (func $i32x4.widen_high_i16x8_u (; 176 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) + (func $i32x4.widen_high_i16x8_u (; 177 ;) (type $FUNCSIG$VV) (param $0 v128) (result v128) (i32x4.widen_high_i16x8_u (local.get $0) ) ) - (func $i16x8.load8x8_u (; 177 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $i16x8.load8x8_u (; 178 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (i16x8.load8x8_u (local.get $0) ) ) - (func $i16x8.load8x8_s (; 178 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $i16x8.load8x8_s (; 179 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (i16x8.load8x8_s (local.get $0) ) ) - (func $i32x4.load16x4_s (; 179 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $i32x4.load16x4_s (; 180 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (i32x4.load16x4_s (local.get $0) ) ) - (func $i32x4.load16x4_u (; 180 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $i32x4.load16x4_u (; 181 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (i32x4.load16x4_u (local.get $0) ) ) - (func $i64x2.load32x2_s (; 181 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $i64x2.load32x2_s (; 182 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (i64x2.load32x2_s (local.get $0) ) ) - (func $i64x2.load32x2_u (; 182 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) + (func $i64x2.load32x2_u (; 183 ;) (type $FUNCSIG$Vi) (param $0 i32) (result v128) (i64x2.load32x2_u (local.get $0) ) ) - (func $v8x16.swizzle (; 183 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) + (func $v8x16.swizzle (; 184 ;) (type $FUNCSIG$VVV) (param $0 v128) (param $1 v128) (result v128) (v8x16.swizzle (local.get $0) (local.get $1) |