;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited. ;; RUN: wasm-as %s -all -g -o %t.wasm ;; RUN: wasm-dis %t.wasm -all -o %t.wast ;; RUN: wasm-as %s -all -o %t.nodebug.wasm ;; RUN: wasm-dis %t.nodebug.wasm -all -o %t.nodebug.wast ;; RUN: wasm-opt %t.wast -all -o %t.text.wast -g -S ;; RUN: cat %t.wast | filecheck %s --check-prefix=CHECK-BINARY ;; RUN: cat %t.nodebug.wast | filecheck %s --check-prefix=CHECK-NODEBUG ;; RUN: cat %t.text.wast | filecheck %s --check-prefix=CHECK-TEXT (module (memory 1 1) ;; CHECK-BINARY: (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) ;; CHECK-BINARY: (type $v128_v128_=>_v128 (func (param v128 v128) (result v128))) ;; CHECK-BINARY: (type $v128_=>_v128 (func (param v128) (result v128))) ;; CHECK-BINARY: (memory $0 1 1) ;; CHECK-BINARY: (func $i8x16.relaxed_swizzle (param $0 v128) (param $1 v128) (result v128) ;; CHECK-BINARY-NEXT: (i8x16.relaxed_swizzle ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) ;; CHECK-TEXT: (type $v128_v128_=>_v128 (func (param v128 v128) (result v128))) ;; CHECK-TEXT: (type $v128_=>_v128 (func (param v128) (result v128))) ;; CHECK-TEXT: (memory $0 1 1) ;; CHECK-TEXT: (func $i8x16.relaxed_swizzle (param $0 v128) (param $1 v128) (result v128) ;; CHECK-TEXT-NEXT: (i8x16.relaxed_swizzle ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i8x16.relaxed_swizzle (param $0 v128) (param $1 v128) (result v128) (i8x16.relaxed_swizzle (local.get $0) (local.get $1) ) ) ;; CHECK-BINARY: (func $i32x4.relaxed_trunc_f32x4_s (param $0 v128) (result v128) ;; CHECK-BINARY-NEXT: (i32x4.relaxed_trunc_f32x4_s ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i32x4.relaxed_trunc_f32x4_s (param $0 v128) (result v128) ;; CHECK-TEXT-NEXT: (i32x4.relaxed_trunc_f32x4_s ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i32x4.relaxed_trunc_f32x4_s (param $0 v128) (result v128) (i32x4.relaxed_trunc_f32x4_s (local.get $0) ) ) ;; CHECK-BINARY: (func $i32x4.relaxed_trunc_f32x4_u (param $0 v128) (result v128) ;; CHECK-BINARY-NEXT: (i32x4.relaxed_trunc_f32x4_u ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i32x4.relaxed_trunc_f32x4_u (param $0 v128) (result v128) ;; CHECK-TEXT-NEXT: (i32x4.relaxed_trunc_f32x4_u ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i32x4.relaxed_trunc_f32x4_u (param $0 v128) (result v128) (i32x4.relaxed_trunc_f32x4_u (local.get $0) ) ) ;; CHECK-BINARY: (func $i32x4.relaxed_trunc_f64x2_s_zero (param $0 v128) (result v128) ;; CHECK-BINARY-NEXT: (i32x4.relaxed_trunc_f64x2_s_zero ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i32x4.relaxed_trunc_f64x2_s_zero (param $0 v128) (result v128) ;; CHECK-TEXT-NEXT: (i32x4.relaxed_trunc_f64x2_s_zero ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i32x4.relaxed_trunc_f64x2_s_zero (param $0 v128) (result v128) (i32x4.relaxed_trunc_f64x2_s_zero (local.get $0) ) ) ;; CHECK-BINARY: (func $i32x4.relaxed_trunc_f64x2_u_zero (param $0 v128) (result v128) ;; CHECK-BINARY-NEXT: (i32x4.relaxed_trunc_f64x2_u_zero ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i32x4.relaxed_trunc_f64x2_u_zero (param $0 v128) (result v128) ;; CHECK-TEXT-NEXT: (i32x4.relaxed_trunc_f64x2_u_zero ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i32x4.relaxed_trunc_f64x2_u_zero (param $0 v128) (result v128) (i32x4.relaxed_trunc_f64x2_u_zero (local.get $0) ) ) ;; CHECK-BINARY: (func $f32x4.relaxed_fma (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (f32x4.relaxed_fma ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $f32x4.relaxed_fma (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (f32x4.relaxed_fma ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $f32x4.relaxed_fma (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.relaxed_fma (local.get $0) (local.get $1) (local.get $2) ) ) ;; CHECK-BINARY: (func $f32x4.relaxed_fms (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (f32x4.relaxed_fms ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $f32x4.relaxed_fms (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (f32x4.relaxed_fms ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $f32x4.relaxed_fms (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.relaxed_fms (local.get $0) (local.get $1) (local.get $2) ) ) ;; CHECK-BINARY: (func $f64x2.relaxed_fma (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (f64x2.relaxed_fma ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $f64x2.relaxed_fma (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (f64x2.relaxed_fma ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $f64x2.relaxed_fma (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.relaxed_fma (local.get $0) (local.get $1) (local.get $2) ) ) ;; CHECK-BINARY: (func $f64x2.relaxed_fms (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (f64x2.relaxed_fms ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $f64x2.relaxed_fms (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (f64x2.relaxed_fms ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $f64x2.relaxed_fms (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.relaxed_fms (local.get $0) (local.get $1) (local.get $2) ) ) ;; CHECK-BINARY: (func $i8x16.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (i8x16.laneselect ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i8x16.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (i8x16.laneselect ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i8x16.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (i8x16.laneselect (local.get $0) (local.get $1) (local.get $2) ) ) ;; CHECK-BINARY: (func $i16x8.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (i16x8.laneselect ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i16x8.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (i16x8.laneselect ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i16x8.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (i16x8.laneselect (local.get $0) (local.get $1) (local.get $2) ) ) ;; CHECK-BINARY: (func $i32x4.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (i32x4.laneselect ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i32x4.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (i32x4.laneselect ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i32x4.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (i32x4.laneselect (local.get $0) (local.get $1) (local.get $2) ) ) ;; CHECK-BINARY: (func $i64x2.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (i64x2.laneselect ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i64x2.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (i64x2.laneselect ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i64x2.laneselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (i64x2.laneselect (local.get $0) (local.get $1) (local.get $2) ) ) ;; CHECK-BINARY: (func $f32x4.relaxed_min (param $0 v128) (param $1 v128) (result v128) ;; CHECK-BINARY-NEXT: (f32x4.relaxed_min ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $f32x4.relaxed_min (param $0 v128) (param $1 v128) (result v128) ;; CHECK-TEXT-NEXT: (f32x4.relaxed_min ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $f32x4.relaxed_min (param $0 v128) (param $1 v128) (result v128) (f32x4.relaxed_min (local.get $0) (local.get $1) ) ) ;; CHECK-BINARY: (func $f32x4.relaxed_max (param $0 v128) (param $1 v128) (result v128) ;; CHECK-BINARY-NEXT: (f32x4.relaxed_max ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $f32x4.relaxed_max (param $0 v128) (param $1 v128) (result v128) ;; CHECK-TEXT-NEXT: (f32x4.relaxed_max ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $f32x4.relaxed_max (param $0 v128) (param $1 v128) (result v128) (f32x4.relaxed_max (local.get $0) (local.get $1) ) ) ;; CHECK-BINARY: (func $f64x2.relaxed_min (param $0 v128) (param $1 v128) (result v128) ;; CHECK-BINARY-NEXT: (f64x2.relaxed_min ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $f64x2.relaxed_min (param $0 v128) (param $1 v128) (result v128) ;; CHECK-TEXT-NEXT: (f64x2.relaxed_min ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $f64x2.relaxed_min (param $0 v128) (param $1 v128) (result v128) (f64x2.relaxed_min (local.get $0) (local.get $1) ) ) ;; CHECK-BINARY: (func $f64x2.relaxed_max (param $0 v128) (param $1 v128) (result v128) ;; CHECK-BINARY-NEXT: (f64x2.relaxed_max ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $f64x2.relaxed_max (param $0 v128) (param $1 v128) (result v128) ;; CHECK-TEXT-NEXT: (f64x2.relaxed_max ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $f64x2.relaxed_max (param $0 v128) (param $1 v128) (result v128) (f64x2.relaxed_max (local.get $0) (local.get $1) ) ) ;; CHECK-BINARY: (func $i16x8.relaxed_q15mulr_s (param $0 v128) (param $1 v128) (result v128) ;; CHECK-BINARY-NEXT: (i16x8.relaxed_q15mulr_s ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i16x8.relaxed_q15mulr_s (param $0 v128) (param $1 v128) (result v128) ;; CHECK-TEXT-NEXT: (i16x8.relaxed_q15mulr_s ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i16x8.relaxed_q15mulr_s (param $0 v128) (param $1 v128) (result v128) (i16x8.relaxed_q15mulr_s (local.get $0) (local.get $1) ) ) ;; CHECK-BINARY: (func $i16x8.dot_i8x16_i7x16_s (param $0 v128) (param $1 v128) (result v128) ;; CHECK-BINARY-NEXT: (i16x8.dot_i8x16_i7x16_s ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i16x8.dot_i8x16_i7x16_s (param $0 v128) (param $1 v128) (result v128) ;; CHECK-TEXT-NEXT: (i16x8.dot_i8x16_i7x16_s ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i16x8.dot_i8x16_i7x16_s (param $0 v128) (param $1 v128) (result v128) (i16x8.dot_i8x16_i7x16_s (local.get $0) (local.get $1) ) ) ;; CHECK-BINARY: (func $i32x4.dot_i8x16_i7x16_add_s (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-BINARY-NEXT: (i32x4.dot_i8x16_i7x16_add_s ;; CHECK-BINARY-NEXT: (local.get $0) ;; CHECK-BINARY-NEXT: (local.get $1) ;; CHECK-BINARY-NEXT: (local.get $2) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $i32x4.dot_i8x16_i7x16_add_s (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-TEXT-NEXT: (i32x4.dot_i8x16_i7x16_add_s ;; CHECK-TEXT-NEXT: (local.get $0) ;; CHECK-TEXT-NEXT: (local.get $1) ;; CHECK-TEXT-NEXT: (local.get $2) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $i32x4.dot_i8x16_i7x16_add_s (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (i32x4.dot_i8x16_i7x16_add_s (local.get $0) (local.get $1) (local.get $2) ) ) ) ;; CHECK-NODEBUG: (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128))) ;; CHECK-NODEBUG: (type $v128_v128_=>_v128 (func (param v128 v128) (result v128))) ;; CHECK-NODEBUG: (type $v128_=>_v128 (func (param v128) (result v128))) ;; CHECK-NODEBUG: (memory $0 1 1) ;; CHECK-NODEBUG: (func $0 (param $0 v128) (param $1 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i8x16.relaxed_swizzle ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $1 (param $0 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i32x4.relaxed_trunc_f32x4_s ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $2 (param $0 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i32x4.relaxed_trunc_f32x4_u ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $3 (param $0 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i32x4.relaxed_trunc_f64x2_s_zero ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $4 (param $0 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i32x4.relaxed_trunc_f64x2_u_zero ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $5 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (f32x4.relaxed_fma ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $6 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (f32x4.relaxed_fms ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $7 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (f64x2.relaxed_fma ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $8 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (f64x2.relaxed_fms ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $9 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i8x16.laneselect ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $10 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i16x8.laneselect ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $11 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i32x4.laneselect ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $12 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i64x2.laneselect ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $13 (param $0 v128) (param $1 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (f32x4.relaxed_min ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $14 (param $0 v128) (param $1 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (f32x4.relaxed_max ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $15 (param $0 v128) (param $1 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (f64x2.relaxed_min ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $16 (param $0 v128) (param $1 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (f64x2.relaxed_max ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $17 (param $0 v128) (param $1 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i16x8.relaxed_q15mulr_s ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $18 (param $0 v128) (param $1 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i16x8.dot_i8x16_i7x16_s ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $19 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NODEBUG-NEXT: (i32x4.dot_i8x16_i7x16_add_s ;; CHECK-NODEBUG-NEXT: (local.get $0) ;; CHECK-NODEBUG-NEXT: (local.get $1) ;; CHECK-NODEBUG-NEXT: (local.get $2) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: )