diff options
Diffstat (limited to 'test/simd.wast')
-rw-r--r-- | test/simd.wast | 793 |
1 files changed, 793 insertions, 0 deletions
diff --git a/test/simd.wast b/test/simd.wast new file mode 100644 index 000000000..79ecaeeaf --- /dev/null +++ b/test/simd.wast @@ -0,0 +1,793 @@ +(module + (func $v128.load (param $0 i32) (result v128) + (v128.load offset=0 align=16 + (get_local $0) + ) + ) + (func $v128.store (param $0 i32) (param $1 v128) + (v128.store offset=0 align=16 + (get_local $0) + (get_local $1) + ) + ) + (func $v128.const (result v128) + (v128.const i32 1 2 3 4) + ) + (func $v128.shuffle (param $0 v128) (param $1 v128) (result v128) + (v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31 + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.splat (param $0 i32) (result v128) + (i8x16.splat + (get_local $0) + ) + ) + (func $i8x16.extract_lane_s (param $0 v128) (result i32) + (i8x16.extract_lane_s 0 + (get_local $0) + ) + ) + (func $i8x16.extract_lane_u (param $0 v128) (result i32) + (i8x16.extract_lane_u 0 + (get_local $0) + ) + ) + (func $i8x16.replace_lane (param $0 v128) (param $1 i32) (result v128) + (i8x16.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.splat (param $0 i32) (result v128) + (i16x8.splat + (get_local $0) + ) + ) + (func $i16x8.extract_lane_s (param $0 v128) (result i32) + (i16x8.extract_lane_s 0 + (get_local $0) + ) + ) + (func $i16x8.extract_lane_u (param $0 v128) (result i32) + (i16x8.extract_lane_u 0 + (get_local $0) + ) + ) + (func $i16x8.replace_lane (param $0 v128) (param $1 i32) (result v128) + (i16x8.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.splat (param $0 i32) (result v128) + (i32x4.splat + (get_local $0) + ) + ) + (func $i32x4.extract_lane (param $0 v128) (result i32) + (i32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $i32x4.replace_lane (param $0 v128) (param $1 i32) (result v128) + (i32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.extract_lane (param $0 v128) (result i64) + (i64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $i64x2.replace_lane (param $0 v128) (param $1 i64) (result v128) + (i64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.splat (param $0 f32) (result v128) + (f32x4.splat + (get_local $0) + ) + ) + (func $f32x4.extract_lane (param $0 v128) (result f32) + (f32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $f32x4.replace_lane (param $0 v128) (param $1 f32) (result v128) + (f32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.splat (param $0 f64) (result v128) + (f64x2.splat + (get_local $0) + ) + ) + (func $f64x2.extract_lane (param $0 v128) (result f64) + (f64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $f64x2.replace_lane (param $0 v128) (param $1 f64) (result v128) + (f64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.eq (param $0 v128) (param $1 v128) (result v128) + (i8x16.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ne (param $0 v128) (param $1 v128) (result v128) + (i8x16.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.lt_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.lt_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.gt_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.gt_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.le_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.le_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ge_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ge_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.eq (param $0 v128) (param $1 v128) (result v128) + (i16x8.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ne (param $0 v128) (param $1 v128) (result v128) + (i16x8.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.lt_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.lt_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.gt_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.gt_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.le_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.le_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ge_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ge_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.eq (param $0 v128) (param $1 v128) (result v128) + (i32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ne (param $0 v128) (param $1 v128) (result v128) + (i32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.lt_s (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.lt_u (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.gt_s (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.gt_u (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.le_s (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.le_u (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ge_s (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ge_u (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.eq (param $0 v128) (param $1 v128) (result v128) + (f32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.ne (param $0 v128) (param $1 v128) (result v128) + (f32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.lt (param $0 v128) (param $1 v128) (result v128) + (f32x4.lt + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.gt (param $0 v128) (param $1 v128) (result v128) + (f32x4.gt + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.le (param $0 v128) (param $1 v128) (result v128) + (f32x4.le + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.ge (param $0 v128) (param $1 v128) (result v128) + (f32x4.ge + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.eq (param $0 v128) (param $1 v128) (result v128) + (f64x2.eq + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.ne (param $0 v128) (param $1 v128) (result v128) + (f64x2.ne + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.lt (param $0 v128) (param $1 v128) (result v128) + (f64x2.lt + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.gt (param $0 v128) (param $1 v128) (result v128) + (f64x2.gt + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.le (param $0 v128) (param $1 v128) (result v128) + (f64x2.le + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.ge (param $0 v128) (param $1 v128) (result v128) + (f64x2.ge + (get_local $0) + (get_local $1) + ) + ) + (func $v128.not (param $0 v128) (result v128) + (v128.not + (get_local $0) + ) + ) + (func $v128.and (param $0 v128) (param $1 v128) (result v128) + (v128.and + (get_local $0) + (get_local $1) + ) + ) + (func $v128.or (param $0 v128) (param $1 v128) (result v128) + (v128.or + (get_local $0) + (get_local $1) + ) + ) + (func $v128.xor (param $0 v128) (param $1 v128) (result v128) + (v128.xor + (get_local $0) + (get_local $1) + ) + ) + (func $v128.bitselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (v128.bitselect + (get_local $0) + (get_local $1) + (get_local $2) + ) + ) + (func $i8x16.neg (param $0 v128) (result v128) + (i8x16.neg + (get_local $0) + ) + ) + (func $i8x16.any_true (param $0 v128) (result i32) + (i8x16.any_true + (get_local $0) + ) + ) + (func $i8x16.all_true (param $0 v128) (result i32) + (i8x16.all_true + (get_local $0) + ) + ) + (func $i8x16.shl (param $0 v128) (param $1 i32) (result v128) + (i8x16.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.shr_s (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.shr_u (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add (param $0 v128) (param $1 v128) (result v128) + (i8x16.add + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add_saturate_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add_saturate_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub_saturate_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub_saturate_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.mul (param $0 v128) (param $1 v128) (result v128) + (i8x16.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.neg (param $0 v128) (result v128) + (i16x8.neg + (get_local $0) + ) + ) + (func $i16x8.any_true (param $0 v128) (result i32) + (i16x8.any_true + (get_local $0) + ) + ) + (func $i16x8.all_true (param $0 v128) (result i32) + (i16x8.all_true + (get_local $0) + ) + ) + (func $i16x8.shl (param $0 v128) (param $1 i32) (result v128) + (i16x8.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.shr_s (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.shr_u (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add (param $0 v128) (param $1 v128) (result v128) + (i16x8.add + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add_saturate_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add_saturate_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub_saturate_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub_saturate_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.mul (param $0 v128) (param $1 v128) (result v128) + (i16x8.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.neg (param $0 v128) (result v128) + (i32x4.neg + (get_local $0) + ) + ) + (func $i32x4.any_true (param $0 v128) (result i32) + (i32x4.any_true + (get_local $0) + ) + ) + (func $i32x4.all_true (param $0 v128) (result i32) + (i32x4.all_true + (get_local $0) + ) + ) + (func $i32x4.shl (param $0 v128) (param $1 i32) (result v128) + (i32x4.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.shr_s (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.shr_u (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.add (param $0 v128) (param $1 v128) (result v128) + (i32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.sub (param $0 v128) (param $1 v128) (result v128) + (i32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.mul (param $0 v128) (param $1 v128) (result v128) + (i32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.neg (param $0 v128) (result v128) + (i64x2.neg + (get_local $0) + ) + ) + (func $i64x2.any_true (param $0 v128) (result i32) + (i64x2.any_true + (get_local $0) + ) + ) + (func $i64x2.all_true (param $0 v128) (result i32) + (i64x2.all_true + (get_local $0) + ) + ) + (func $i64x2.shl (param $0 v128) (param $1 i32) (result v128) + (i64x2.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.shr_s (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.shr_u (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.add (param $0 v128) (param $1 v128) (result v128) + (i64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.sub (param $0 v128) (param $1 v128) (result v128) + (i64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.add (param $0 v128) (param $1 v128) (result v128) + (f32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.sub (param $0 v128) (param $1 v128) (result v128) + (f32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.mul (param $0 v128) (param $1 v128) (result v128) + (f32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.div (param $0 v128) (param $1 v128) (result v128) + (f32x4.div + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.min (param $0 v128) (param $1 v128) (result v128) + (f32x4.min + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.max (param $0 v128) (param $1 v128) (result v128) + (f32x4.max + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.abs (param $0 v128) (result v128) + (f32x4.abs + (get_local $0) + ) + ) + (func $f32x4.neg (param $0 v128) (result v128) + (f32x4.neg + (get_local $0) + ) + ) + (func $f32x4.sqrt (param $0 v128) (result v128) + (f32x4.sqrt + (get_local $0) + ) + ) + (func $f64x2.add (param $0 v128) (param $1 v128) (result v128) + (f64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.sub (param $0 v128) (param $1 v128) (result v128) + (f64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.mul (param $0 v128) (param $1 v128) (result v128) + (f64x2.mul + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.div (param $0 v128) (param $1 v128) (result v128) + (f64x2.div + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.min (param $0 v128) (param $1 v128) (result v128) + (f64x2.min + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.max (param $0 v128) (param $1 v128) (result v128) + (f64x2.max + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.abs (param $0 v128) (result v128) + (f64x2.abs + (get_local $0) + ) + ) + (func $f64x2.neg (param $0 v128) (result v128) + (f64x2.neg + (get_local $0) + ) + ) + (func $f64x2.sqrt (param $0 v128) (result v128) + (f64x2.sqrt + (get_local $0) + ) + ) + (func $i32x4.trunc_s/f32x4:sat (param $0 v128) (result v128) + (i32x4.trunc_s/f32x4:sat + (get_local $0) + ) + ) + (func $i32x4.trunc_u/f32x4:sat (param $0 v128) (result v128) + (i32x4.trunc_u/f32x4:sat + (get_local $0) + ) + ) + (func $i64x2.trunc_s/f64x2:sat (param $0 v128) (result v128) + (i64x2.trunc_s/f64x2:sat + (get_local $0) + ) + ) + (func $i64x2.trunc_u/f64x2:sat (param $0 v128) (result v128) + (i64x2.trunc_u/f64x2:sat + (get_local $0) + ) + ) + (func $f32x4.convert_s/i32x4 (param $0 v128) (result v128) + (f32x4.convert_s/i32x4 + (get_local $0) + ) + ) + (func $f32x4.convert_u/i32x4 (param $0 v128) (result v128) + (f32x4.convert_u/i32x4 + (get_local $0) + ) + ) + (func $f64x2.convert_s/i64x2 (param $0 v128) (result v128) + (f64x2.convert_s/i64x2 + (get_local $0) + ) + ) + (func $f64x2.convert_u/i64x2 (param $0 v128) (result v128) + (f64x2.convert_u/i64x2 + (get_local $0) + ) + ) +) |