wa-lang.org/wazero@v1.0.2/internal/integration_test/spectest/v2/testdata/simd_i8x16_arith2.wast (about) 1 ;; Tests for i8x16 [min_s, min_u, max_s, max_u, avgr_u, abs] operations. 2 3 (module 4 (func (export "i8x16.min_s") (param v128 v128) (result v128) (i8x16.min_s (local.get 0) (local.get 1))) 5 (func (export "i8x16.min_u") (param v128 v128) (result v128) (i8x16.min_u (local.get 0) (local.get 1))) 6 (func (export "i8x16.max_s") (param v128 v128) (result v128) (i8x16.max_s (local.get 0) (local.get 1))) 7 (func (export "i8x16.max_u") (param v128 v128) (result v128) (i8x16.max_u (local.get 0) (local.get 1))) 8 (func (export "i8x16.avgr_u") (param v128 v128) (result v128) (i8x16.avgr_u (local.get 0) (local.get 1))) 9 (func (export "i8x16.abs") (param v128) (result v128) (i8x16.abs (local.get 0))) 10 (func (export "i8x16.popcnt") (param v128) (result v128) (i8x16.popcnt (local.get 0))) 11 (func (export "i8x16.min_s_with_const_0") (result v128) (i8x16.min_s (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128))) 12 (func (export "i8x16.min_s_with_const_1") (result v128) (i8x16.min_s (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3) (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0))) 13 (func (export "i8x16.min_u_with_const_2") (result v128) (i8x16.min_u (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128))) 14 (func (export "i8x16.min_u_with_const_3") (result v128) (i8x16.min_u (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3) (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0))) 15 (func (export "i8x16.max_s_with_const_4") (result v128) (i8x16.max_s (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128))) 16 (func (export "i8x16.max_s_with_const_5") (result v128) (i8x16.max_s (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3) (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0))) 17 (func (export "i8x16.max_u_with_const_6") (result v128) (i8x16.max_u (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128))) 18 (func (export "i8x16.max_u_with_const_7") (result v128) (i8x16.max_u (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3) (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0))) 19 (func (export "i8x16.avgr_u_with_const_8") (result v128) (i8x16.avgr_u (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128))) 20 (func (export "i8x16.avgr_u_with_const_9") (result v128) (i8x16.avgr_u (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3) (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0))) 21 (func (export "i8x16.abs_with_const_10") (result v128) (i8x16.abs (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255))) 22 (func (export "i8x16.popcnt_with_const_11") (result v128) (i8x16.popcnt (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255))) 23 (func (export "i8x16.min_s_with_const_12") (param v128) (result v128) (i8x16.min_s (local.get 0) (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255))) 24 (func (export "i8x16.min_s_with_const_13") (param v128) (result v128) (i8x16.min_s (local.get 0) (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3))) 25 (func (export "i8x16.min_u_with_const_14") (param v128) (result v128) (i8x16.min_u (local.get 0) (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255))) 26 (func (export "i8x16.min_u_with_const_15") (param v128) (result v128) (i8x16.min_u (local.get 0) (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3))) 27 (func (export "i8x16.max_s_with_const_16") (param v128) (result v128) (i8x16.max_s (local.get 0) (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255))) 28 (func (export "i8x16.max_s_with_const_17") (param v128) (result v128) (i8x16.max_s (local.get 0) (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3))) 29 (func (export "i8x16.max_u_with_const_18") (param v128) (result v128) (i8x16.max_u (local.get 0) (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255))) 30 (func (export "i8x16.max_u_with_const_19") (param v128) (result v128) (i8x16.max_u (local.get 0) (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3))) 31 (func (export "i8x16.avgr_u_with_const_20") (param v128) (result v128) (i8x16.avgr_u (local.get 0) (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255))) 32 (func (export "i8x16.avgr_u_with_const_21") (param v128) (result v128) (i8x16.avgr_u (local.get 0) (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3))) 33 ) 34 35 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 36 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 37 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 38 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 39 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 40 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 41 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1) 42 (v128.const i8x16 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1)) 43 (v128.const i8x16 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 44 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 45 (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 46 (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 47 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 48 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 49 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 50 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 51 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 52 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) 53 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 54 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 55 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 56 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128) 57 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 58 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 59 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 60 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 61 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 62 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123) 63 (v128.const i8x16 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3)) 64 (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123)) 65 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 66 (v128.const i8x16 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0)) 67 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 68 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 69 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 70 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 71 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 72 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 73 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 74 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1) 75 (v128.const i8x16 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1)) 76 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1)) 77 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 78 (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 79 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 80 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 81 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 82 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 83 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 84 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 85 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 86 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 87 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 88 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 89 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128) 90 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 91 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 92 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 93 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 94 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 95 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123) 96 (v128.const i8x16 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3)) 97 (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123)) 98 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 99 (v128.const i8x16 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0)) 100 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 101 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 102 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 103 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 104 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 105 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 106 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 107 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1) 108 (v128.const i8x16 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1)) 109 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1)) 110 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 111 (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 112 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 113 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 114 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 115 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 116 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 117 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 118 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 119 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 120 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 121 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) 122 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128) 123 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 124 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 125 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 126 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 127 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 128 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123) 129 (v128.const i8x16 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3)) 130 (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123)) 131 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 132 (v128.const i8x16 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0)) 133 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 134 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 135 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 136 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 137 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 138 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 139 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 140 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1) 141 (v128.const i8x16 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1)) 142 (v128.const i8x16 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 143 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 144 (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 145 (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 146 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 147 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 148 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 149 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 150 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 151 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) 152 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 153 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 154 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) 155 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128) 156 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 157 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 158 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 159 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 160 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 161 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123) 162 (v128.const i8x16 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3)) 163 (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123)) 164 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 165 (v128.const i8x16 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0)) 166 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 167 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 168 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 169 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 170 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 171 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 172 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 173 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1) 174 (v128.const i8x16 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1)) 175 (v128.const i8x16 0 0 0 0 128 128 128 128 128 128 128 128 255 255 255 255)) 176 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 177 (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 178 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 179 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 180 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 181 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 182 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 183 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 184 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 185 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) 186 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 187 (v128.const i8x16 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192 192)) 188 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128) 189 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 190 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 191 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 192 (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 193 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 194 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123) 195 (v128.const i8x16 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3)) 196 (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123)) 197 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80) 198 (v128.const i8x16 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0)) 199 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 200 (assert_return (invoke "i8x16.abs" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 201 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 202 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 203 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 204 (assert_return (invoke "i8x16.abs" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) 205 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 206 (assert_return (invoke "i8x16.abs" (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 207 (v128.const i8x16 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1)) 208 (assert_return (invoke "i8x16.abs" (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 209 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 210 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 211 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 212 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80)) 213 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 214 (assert_return (invoke "i8x16.abs" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 215 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 216 (assert_return (invoke "i8x16.abs" (v128.const i8x16 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3)) 217 (v128.const i8x16 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3)) 218 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3)) 219 (v128.const i8x16 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123)) 220 (assert_return (invoke "i8x16.abs" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 221 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 222 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80)) 223 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 224 (assert_return (invoke "i8x16.abs" (v128.const i8x16 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0)) 225 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 226 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0)) 227 (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 228 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 229 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 230 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 231 (v128.const i8x16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8)) 232 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) 233 (v128.const i8x16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8)) 234 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff)) 235 (v128.const i8x16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8)) 236 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 237 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 238 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128)) 239 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 240 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80)) 241 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 242 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 243 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 244 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3)) 245 (v128.const i8x16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6)) 246 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3)) 247 (v128.const i8x16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3)) 248 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)) 249 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 250 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80)) 251 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 252 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0)) 253 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 254 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0)) 255 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 256 257 ;; Const vs const 258 (assert_return (invoke "i8x16.min_s_with_const_0") (v128.const i8x16 -128 -128 -128 -128 64 64 64 64 64 64 64 64 -128 -128 -128 -128)) 259 (assert_return (invoke "i8x16.min_s_with_const_1") (v128.const i8x16 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0)) 260 (assert_return (invoke "i8x16.min_u_with_const_2") (v128.const i8x16 -128 -128 -128 -128 64 64 64 64 64 64 64 64 -128 -128 -128 -128)) 261 (assert_return (invoke "i8x16.min_u_with_const_3") (v128.const i8x16 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0)) 262 (assert_return (invoke "i8x16.max_s_with_const_4") (v128.const i8x16 255 255 255 255 127 127 127 127 127 127 127 127 255 255 255 255)) 263 (assert_return (invoke "i8x16.max_s_with_const_5") (v128.const i8x16 3 3 3 3 2 2 2 2 2 2 2 2 3 3 3 3)) 264 (assert_return (invoke "i8x16.max_u_with_const_6") (v128.const i8x16 255 255 255 255 127 127 127 127 127 127 127 127 255 255 255 255)) 265 (assert_return (invoke "i8x16.max_u_with_const_7") (v128.const i8x16 3 3 3 3 2 2 2 2 2 2 2 2 3 3 3 3)) 266 (assert_return (invoke "i8x16.avgr_u_with_const_8") (v128.const i8x16 192 192 192 192 96 96 96 96 96 96 96 96 192 192 192 192)) 267 (assert_return (invoke "i8x16.avgr_u_with_const_9") (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 268 (assert_return (invoke "i8x16.abs_with_const_10") (v128.const i8x16 128 128 128 128 127 127 127 127 64 64 64 64 1 1 1 1)) 269 (assert_return (invoke "i8x16.popcnt_with_const_11") (v128.const i8x16 1 1 1 1 7 7 7 7 1 1 1 1 8 8 8 8)) 270 271 ;; Param vs const 272 (assert_return (invoke "i8x16.min_s_with_const_12" (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 273 (v128.const i8x16 -128 -128 -128 -128 64 64 64 64 64 64 64 64 -128 -128 -128 -128)) 274 (assert_return (invoke "i8x16.min_s_with_const_13" (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0)) 275 (v128.const i8x16 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0)) 276 (assert_return (invoke "i8x16.min_u_with_const_14" (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 277 (v128.const i8x16 -128 -128 -128 -128 64 64 64 64 64 64 64 64 -128 -128 -128 -128)) 278 (assert_return (invoke "i8x16.min_u_with_const_15" (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0)) 279 (v128.const i8x16 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0)) 280 (assert_return (invoke "i8x16.max_s_with_const_16" (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 281 (v128.const i8x16 255 255 255 255 127 127 127 127 127 127 127 127 255 255 255 255)) 282 (assert_return (invoke "i8x16.max_s_with_const_17" (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0)) 283 (v128.const i8x16 3 3 3 3 2 2 2 2 2 2 2 2 3 3 3 3)) 284 (assert_return (invoke "i8x16.max_u_with_const_18" (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 285 (v128.const i8x16 255 255 255 255 127 127 127 127 127 127 127 127 255 255 255 255)) 286 (assert_return (invoke "i8x16.max_u_with_const_19" (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0)) 287 (v128.const i8x16 3 3 3 3 2 2 2 2 2 2 2 2 3 3 3 3)) 288 (assert_return (invoke "i8x16.avgr_u_with_const_20" (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 289 (v128.const i8x16 192 192 192 192 96 96 96 96 96 96 96 96 192 192 192 192)) 290 (assert_return (invoke "i8x16.avgr_u_with_const_21" (v128.const i8x16 3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0)) 291 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 292 293 ;; Test different lanes go through different if-then clauses 294 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) 295 (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 296 (v128.const i8x16 -128 -128 -128 -128 64 64 64 64 64 64 64 64 -128 -128 -128 -128)) 297 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 128 128 128 128) 298 (v128.const i8x16 0 0 0 0 2 2 2 2 1 1 1 1 128 128 128 128)) 299 (v128.const i8x16 0 0 0 0 1 1 1 1 1 1 1 1 128 128 128 128)) 300 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) 301 (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 302 (v128.const i8x16 -128 -128 -128 -128 64 64 64 64 64 64 64 64 -128 -128 -128 -128)) 303 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 128 128 128 128) 304 (v128.const i8x16 0 0 0 0 2 2 2 2 1 1 1 1 128 128 128 128)) 305 (v128.const i8x16 0 0 0 0 1 1 1 1 1 1 1 1 128 128 128 128)) 306 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) 307 (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 308 (v128.const i8x16 255 255 255 255 127 127 127 127 127 127 127 127 255 255 255 255)) 309 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 128 128 128 128) 310 (v128.const i8x16 0 0 0 0 2 2 2 2 1 1 1 1 128 128 128 128)) 311 (v128.const i8x16 0 0 0 0 2 2 2 2 2 2 2 2 128 128 128 128)) 312 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) 313 (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 314 (v128.const i8x16 255 255 255 255 127 127 127 127 127 127 127 127 255 255 255 255)) 315 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 128 128 128 128) 316 (v128.const i8x16 0 0 0 0 2 2 2 2 1 1 1 1 128 128 128 128)) 317 (v128.const i8x16 0 0 0 0 2 2 2 2 2 2 2 2 128 128 128 128)) 318 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255) 319 (v128.const i8x16 255 255 255 255 64 64 64 64 127 127 127 127 -128 -128 -128 -128)) 320 (v128.const i8x16 192 192 192 192 96 96 96 96 96 96 96 96 192 192 192 192)) 321 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 0 0 0 0 1 1 1 1 2 2 2 2 128 128 128 128) 322 (v128.const i8x16 0 0 0 0 2 2 2 2 1 1 1 1 128 128 128 128)) 323 (v128.const i8x16 0 0 0 0 2 2 2 2 2 2 2 2 128 128 128 128)) 324 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255)) 325 (v128.const i8x16 128 128 128 128 127 127 127 127 64 64 64 64 1 1 1 1)) 326 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -128 -128 -128 -128 127 127 127 127 64 64 64 64 255 255 255 255)) 327 (v128.const i8x16 1 1 1 1 7 7 7 7 1 1 1 1 8 8 8 8)) 328 329 ;; Test opposite signs of zero 330 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0) 331 (v128.const i8x16 +0 +0 +0 +0 0 0 0 0 -0 -0 -0 -0 0 0 0 0)) 332 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0)) 333 (assert_return (invoke "i8x16.min_s" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0) 334 (v128.const i8x16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0)) 335 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0)) 336 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0) 337 (v128.const i8x16 +0 +0 +0 +0 0 0 0 0 -0 -0 -0 -0 0 0 0 0)) 338 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0)) 339 (assert_return (invoke "i8x16.min_u" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0) 340 (v128.const i8x16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0)) 341 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0)) 342 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0) 343 (v128.const i8x16 +0 +0 +0 +0 0 0 0 0 -0 -0 -0 -0 0 0 0 0)) 344 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0)) 345 (assert_return (invoke "i8x16.max_s" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0) 346 (v128.const i8x16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0)) 347 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0)) 348 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0) 349 (v128.const i8x16 +0 +0 +0 +0 0 0 0 0 -0 -0 -0 -0 0 0 0 0)) 350 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0)) 351 (assert_return (invoke "i8x16.max_u" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0) 352 (v128.const i8x16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0)) 353 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0)) 354 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0) 355 (v128.const i8x16 +0 +0 +0 +0 0 0 0 0 -0 -0 -0 -0 0 0 0 0)) 356 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 357 (assert_return (invoke "i8x16.avgr_u" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0) 358 (v128.const i8x16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0)) 359 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 360 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0)) 361 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0)) 362 (assert_return (invoke "i8x16.abs" (v128.const i8x16 +0 +0 +0 +0 0 0 0 0 -0 -0 -0 -0 0 0 0 0)) 363 (v128.const i8x16 +0 +0 +0 +0 0 0 0 0 -0 -0 -0 -0 0 0 0 0)) 364 (assert_return (invoke "i8x16.abs" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0)) 365 (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0)) 366 (assert_return (invoke "i8x16.abs" (v128.const i8x16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0)) 367 (v128.const i8x16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0)) 368 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 +0 +0 +0 +0 +0 +0 +0 +0)) 369 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 370 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 +0 +0 +0 +0 0 0 0 0 -0 -0 -0 -0 0 0 0 0)) 371 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 372 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0)) 373 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 374 (assert_return (invoke "i8x16.popcnt" (v128.const i8x16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0)) 375 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 376 377 ;; Unknown operators 378 (assert_malformed (module quote "(memory 1) (func (result v128) (i32x4.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)))") "unknown operator") 379 (assert_malformed (module quote "(memory 1) (func (result v128) (f32x4.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)))") "unknown operator") 380 (assert_malformed (module quote "(memory 1) (func (result v128) (i64x2.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)))") "unknown operator") 381 (assert_malformed (module quote "(memory 1) (func (result v128) (f64x2.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)))") "unknown operator") 382 (assert_malformed (module quote "(memory 1) (func (result v128) (i8x16.avgr (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)))") "unknown operator") 383 (assert_malformed (module quote "(memory 1) (func (result v128) (i8x16.avgr_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)))") "unknown operator") 384 385 ;; Type check 386 (assert_invalid (module (func (result v128) (i8x16.min_s (i32.const 0) (f32.const 0.0)))) "type mismatch") 387 (assert_invalid (module (func (result v128) (i8x16.min_u (i32.const 0) (f32.const 0.0)))) "type mismatch") 388 (assert_invalid (module (func (result v128) (i8x16.max_s (i32.const 0) (f32.const 0.0)))) "type mismatch") 389 (assert_invalid (module (func (result v128) (i8x16.max_u (i32.const 0) (f32.const 0.0)))) "type mismatch") 390 (assert_invalid (module (func (result v128) (i8x16.avgr_u (i32.const 0) (f32.const 0.0)))) "type mismatch") 391 (assert_invalid (module (func (result v128) (i8x16.abs (f32.const 0.0)))) "type mismatch") 392 (assert_invalid (module (func (result v128) (i8x16.popcnt (f32.const 0.0)))) "type mismatch") 393 394 ;; Test operation with empty argument 395 396 (assert_invalid 397 (module 398 (func $i8x16.min_s-1st-arg-empty (result v128) 399 (i8x16.min_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 400 ) 401 ) 402 "type mismatch" 403 ) 404 (assert_invalid 405 (module 406 (func $i8x16.min_s-arg-empty (result v128) 407 (i8x16.min_s) 408 ) 409 ) 410 "type mismatch" 411 ) 412 (assert_invalid 413 (module 414 (func $i8x16.min_u-1st-arg-empty (result v128) 415 (i8x16.min_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 416 ) 417 ) 418 "type mismatch" 419 ) 420 (assert_invalid 421 (module 422 (func $i8x16.min_u-arg-empty (result v128) 423 (i8x16.min_u) 424 ) 425 ) 426 "type mismatch" 427 ) 428 (assert_invalid 429 (module 430 (func $i8x16.max_s-1st-arg-empty (result v128) 431 (i8x16.max_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 432 ) 433 ) 434 "type mismatch" 435 ) 436 (assert_invalid 437 (module 438 (func $i8x16.max_s-arg-empty (result v128) 439 (i8x16.max_s) 440 ) 441 ) 442 "type mismatch" 443 ) 444 (assert_invalid 445 (module 446 (func $i8x16.max_u-1st-arg-empty (result v128) 447 (i8x16.max_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 448 ) 449 ) 450 "type mismatch" 451 ) 452 (assert_invalid 453 (module 454 (func $i8x16.max_u-arg-empty (result v128) 455 (i8x16.max_u) 456 ) 457 ) 458 "type mismatch" 459 ) 460 (assert_invalid 461 (module 462 (func $i8x16.avgr_u-1st-arg-empty (result v128) 463 (i8x16.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 464 ) 465 ) 466 "type mismatch" 467 ) 468 (assert_invalid 469 (module 470 (func $i8x16.avgr_u-arg-empty (result v128) 471 (i8x16.avgr_u) 472 ) 473 ) 474 "type mismatch" 475 ) 476 (assert_invalid 477 (module 478 (func $i8x16.abs-arg-empty (result v128) 479 (i8x16.abs) 480 ) 481 ) 482 "type mismatch" 483 ) 484 (assert_invalid 485 (module 486 (func $i8x16.popcnt-arg-empty (result v128) 487 (i8x16.popcnt) 488 ) 489 ) 490 "type mismatch" 491 ) 492 493 ;; Combination 494 (module 495 (func (export "i8x16.min_s-i8x16.avgr_u") (param v128 v128 v128) (result v128) (i8x16.min_s (i8x16.avgr_u (local.get 0) (local.get 1))(local.get 2))) 496 (func (export "i8x16.min_s-i8x16.max_u") (param v128 v128 v128) (result v128) (i8x16.min_s (i8x16.max_u (local.get 0) (local.get 1))(local.get 2))) 497 (func (export "i8x16.min_s-i8x16.max_s") (param v128 v128 v128) (result v128) (i8x16.min_s (i8x16.max_s (local.get 0) (local.get 1))(local.get 2))) 498 (func (export "i8x16.min_s-i8x16.min_u") (param v128 v128 v128) (result v128) (i8x16.min_s (i8x16.min_u (local.get 0) (local.get 1))(local.get 2))) 499 (func (export "i8x16.min_s-i8x16.min_s") (param v128 v128 v128) (result v128) (i8x16.min_s (i8x16.min_s (local.get 0) (local.get 1))(local.get 2))) 500 (func (export "i8x16.min_s-i8x16.abs") (param v128 v128) (result v128) (i8x16.min_s (i8x16.abs (local.get 0))(local.get 1))) 501 (func (export "i8x16.abs-i8x16.min_s") (param v128 v128) (result v128) (i8x16.abs (i8x16.min_s (local.get 0) (local.get 1)))) 502 (func (export "i8x16.min_s-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.min_s (i8x16.popcnt (local.get 0))(local.get 1))) 503 (func (export "i8x16.popcnt-i8x16.min_s") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.min_s (local.get 0) (local.get 1)))) 504 (func (export "i8x16.min_u-i8x16.avgr_u") (param v128 v128 v128) (result v128) (i8x16.min_u (i8x16.avgr_u (local.get 0) (local.get 1))(local.get 2))) 505 (func (export "i8x16.min_u-i8x16.max_u") (param v128 v128 v128) (result v128) (i8x16.min_u (i8x16.max_u (local.get 0) (local.get 1))(local.get 2))) 506 (func (export "i8x16.min_u-i8x16.max_s") (param v128 v128 v128) (result v128) (i8x16.min_u (i8x16.max_s (local.get 0) (local.get 1))(local.get 2))) 507 (func (export "i8x16.min_u-i8x16.min_u") (param v128 v128 v128) (result v128) (i8x16.min_u (i8x16.min_u (local.get 0) (local.get 1))(local.get 2))) 508 (func (export "i8x16.min_u-i8x16.min_s") (param v128 v128 v128) (result v128) (i8x16.min_u (i8x16.min_s (local.get 0) (local.get 1))(local.get 2))) 509 (func (export "i8x16.min_u-i8x16.abs") (param v128 v128) (result v128) (i8x16.min_u (i8x16.abs (local.get 0))(local.get 1))) 510 (func (export "i8x16.abs-i8x16.min_u") (param v128 v128) (result v128) (i8x16.abs (i8x16.min_u (local.get 0) (local.get 1)))) 511 (func (export "i8x16.min_u-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.min_u (i8x16.popcnt (local.get 0))(local.get 1))) 512 (func (export "i8x16.popcnt-i8x16.min_u") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.min_u (local.get 0) (local.get 1)))) 513 (func (export "i8x16.max_s-i8x16.avgr_u") (param v128 v128 v128) (result v128) (i8x16.max_s (i8x16.avgr_u (local.get 0) (local.get 1))(local.get 2))) 514 (func (export "i8x16.max_s-i8x16.max_u") (param v128 v128 v128) (result v128) (i8x16.max_s (i8x16.max_u (local.get 0) (local.get 1))(local.get 2))) 515 (func (export "i8x16.max_s-i8x16.max_s") (param v128 v128 v128) (result v128) (i8x16.max_s (i8x16.max_s (local.get 0) (local.get 1))(local.get 2))) 516 (func (export "i8x16.max_s-i8x16.min_u") (param v128 v128 v128) (result v128) (i8x16.max_s (i8x16.min_u (local.get 0) (local.get 1))(local.get 2))) 517 (func (export "i8x16.max_s-i8x16.min_s") (param v128 v128 v128) (result v128) (i8x16.max_s (i8x16.min_s (local.get 0) (local.get 1))(local.get 2))) 518 (func (export "i8x16.max_s-i8x16.abs") (param v128 v128) (result v128) (i8x16.max_s (i8x16.abs (local.get 0))(local.get 1))) 519 (func (export "i8x16.abs-i8x16.max_s") (param v128 v128) (result v128) (i8x16.abs (i8x16.max_s (local.get 0) (local.get 1)))) 520 (func (export "i8x16.max_s-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.max_s (i8x16.popcnt (local.get 0))(local.get 1))) 521 (func (export "i8x16.popcnt-i8x16.max_s") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.max_s (local.get 0) (local.get 1)))) 522 (func (export "i8x16.max_u-i8x16.avgr_u") (param v128 v128 v128) (result v128) (i8x16.max_u (i8x16.avgr_u (local.get 0) (local.get 1))(local.get 2))) 523 (func (export "i8x16.max_u-i8x16.max_u") (param v128 v128 v128) (result v128) (i8x16.max_u (i8x16.max_u (local.get 0) (local.get 1))(local.get 2))) 524 (func (export "i8x16.max_u-i8x16.max_s") (param v128 v128 v128) (result v128) (i8x16.max_u (i8x16.max_s (local.get 0) (local.get 1))(local.get 2))) 525 (func (export "i8x16.max_u-i8x16.min_u") (param v128 v128 v128) (result v128) (i8x16.max_u (i8x16.min_u (local.get 0) (local.get 1))(local.get 2))) 526 (func (export "i8x16.max_u-i8x16.min_s") (param v128 v128 v128) (result v128) (i8x16.max_u (i8x16.min_s (local.get 0) (local.get 1))(local.get 2))) 527 (func (export "i8x16.max_u-i8x16.abs") (param v128 v128) (result v128) (i8x16.max_u (i8x16.abs (local.get 0))(local.get 1))) 528 (func (export "i8x16.abs-i8x16.max_u") (param v128 v128) (result v128) (i8x16.abs (i8x16.max_u (local.get 0) (local.get 1)))) 529 (func (export "i8x16.max_u-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.max_u (i8x16.popcnt (local.get 0))(local.get 1))) 530 (func (export "i8x16.popcnt-i8x16.max_u") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.max_u (local.get 0) (local.get 1)))) 531 (func (export "i8x16.avgr_u-i8x16.avgr_u") (param v128 v128 v128) (result v128) (i8x16.avgr_u (i8x16.avgr_u (local.get 0) (local.get 1))(local.get 2))) 532 (func (export "i8x16.avgr_u-i8x16.max_u") (param v128 v128 v128) (result v128) (i8x16.avgr_u (i8x16.max_u (local.get 0) (local.get 1))(local.get 2))) 533 (func (export "i8x16.avgr_u-i8x16.max_s") (param v128 v128 v128) (result v128) (i8x16.avgr_u (i8x16.max_s (local.get 0) (local.get 1))(local.get 2))) 534 (func (export "i8x16.avgr_u-i8x16.min_u") (param v128 v128 v128) (result v128) (i8x16.avgr_u (i8x16.min_u (local.get 0) (local.get 1))(local.get 2))) 535 (func (export "i8x16.avgr_u-i8x16.min_s") (param v128 v128 v128) (result v128) (i8x16.avgr_u (i8x16.min_s (local.get 0) (local.get 1))(local.get 2))) 536 (func (export "i8x16.avgr_u-i8x16.abs") (param v128 v128) (result v128) (i8x16.avgr_u (i8x16.abs (local.get 0))(local.get 1))) 537 (func (export "i8x16.abs-i8x16.avgr_u") (param v128 v128) (result v128) (i8x16.abs (i8x16.avgr_u (local.get 0) (local.get 1)))) 538 (func (export "i8x16.avgr_u-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.avgr_u (i8x16.popcnt (local.get 0))(local.get 1))) 539 (func (export "i8x16.popcnt-i8x16.avgr_u") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.avgr_u (local.get 0) (local.get 1)))) 540 (func (export "i8x16.abs-i8x16.popcnt") (param v128) (result v128) (i8x16.abs (i8x16.popcnt (local.get 0)))) 541 (func (export "i8x16.abs-i8x16.abs") (param v128) (result v128) (i8x16.abs (i8x16.abs (local.get 0)))) 542 (func (export "i8x16.popcnt-i8x16.popcnt") (param v128) (result v128) (i8x16.popcnt (i8x16.popcnt (local.get 0)))) 543 (func (export "i8x16.popcnt-i8x16.abs") (param v128) (result v128) (i8x16.popcnt (i8x16.abs (local.get 0)))) 544 ) 545 546 (assert_return (invoke "i8x16.min_s-i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 547 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 548 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 549 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 550 (assert_return (invoke "i8x16.min_s-i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 551 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 552 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 553 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 554 (assert_return (invoke "i8x16.min_s-i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 555 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 556 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 557 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 558 (assert_return (invoke "i8x16.min_s-i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 559 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 560 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 561 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 562 (assert_return (invoke "i8x16.min_s-i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 563 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 564 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 565 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 566 (assert_return (invoke "i8x16.min_s-i8x16.abs" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 567 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 568 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 569 (assert_return (invoke "i8x16.abs-i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 570 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 571 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 572 (assert_return (invoke "i8x16.min_s-i8x16.popcnt" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 573 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 574 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 575 (assert_return (invoke "i8x16.popcnt-i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 576 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 577 (v128.const i8x16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8)) 578 (assert_return (invoke "i8x16.min_u-i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 579 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 580 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 581 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 582 (assert_return (invoke "i8x16.min_u-i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 583 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 584 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 585 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 586 (assert_return (invoke "i8x16.min_u-i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 587 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 588 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 589 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 590 (assert_return (invoke "i8x16.min_u-i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 591 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 592 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 593 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 594 (assert_return (invoke "i8x16.min_u-i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 595 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 596 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 597 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 598 (assert_return (invoke "i8x16.min_u-i8x16.abs" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 599 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 600 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 601 (assert_return (invoke "i8x16.abs-i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 602 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 603 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 604 (assert_return (invoke "i8x16.min_u-i8x16.popcnt" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 605 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 606 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 607 (assert_return (invoke "i8x16.popcnt-i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 608 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 609 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 610 (assert_return (invoke "i8x16.max_s-i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 611 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 612 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 613 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 614 (assert_return (invoke "i8x16.max_s-i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 615 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 616 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 617 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 618 (assert_return (invoke "i8x16.max_s-i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 619 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 620 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 621 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 622 (assert_return (invoke "i8x16.max_s-i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 623 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 624 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 625 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 626 (assert_return (invoke "i8x16.max_s-i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 627 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 628 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 629 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 630 (assert_return (invoke "i8x16.max_s-i8x16.abs" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 631 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 632 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 633 (assert_return (invoke "i8x16.abs-i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 634 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 635 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 636 (assert_return (invoke "i8x16.max_s-i8x16.popcnt" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 637 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 638 (v128.const i8x16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8)) 639 (assert_return (invoke "i8x16.popcnt-i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 640 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 641 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 642 (assert_return (invoke "i8x16.max_u-i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 643 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 644 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 645 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 646 (assert_return (invoke "i8x16.max_u-i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 647 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 648 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 649 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 650 (assert_return (invoke "i8x16.max_u-i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 651 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 652 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 653 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 654 (assert_return (invoke "i8x16.max_u-i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 655 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 656 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 657 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 658 (assert_return (invoke "i8x16.max_u-i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 659 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 660 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 661 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 662 (assert_return (invoke "i8x16.max_u-i8x16.abs" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 663 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 664 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 665 (assert_return (invoke "i8x16.abs-i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 666 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 667 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 668 (assert_return (invoke "i8x16.max_u-i8x16.popcnt" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 669 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 670 (v128.const i8x16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8)) 671 (assert_return (invoke "i8x16.popcnt-i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 672 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 673 (v128.const i8x16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8)) 674 (assert_return (invoke "i8x16.avgr_u-i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 675 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 676 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 677 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 678 (assert_return (invoke "i8x16.avgr_u-i8x16.max_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 679 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 680 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 681 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 682 (assert_return (invoke "i8x16.avgr_u-i8x16.max_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 683 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 684 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 685 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 686 (assert_return (invoke "i8x16.avgr_u-i8x16.min_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 687 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 688 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 689 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 690 (assert_return (invoke "i8x16.avgr_u-i8x16.min_s" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 691 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 692 (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 693 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 694 (assert_return (invoke "i8x16.avgr_u-i8x16.abs" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 695 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 696 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 697 (assert_return (invoke "i8x16.abs-i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 698 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 699 (v128.const i8x16 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128)) 700 (assert_return (invoke "i8x16.avgr_u-i8x16.popcnt" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 701 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 702 (v128.const i8x16 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4)) 703 (assert_return (invoke "i8x16.popcnt-i8x16.avgr_u" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 704 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 705 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 706 (assert_return (invoke "i8x16.abs-i8x16.popcnt" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 707 (v128.const i8x16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8)) 708 (assert_return (invoke "i8x16.abs-i8x16.abs" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 709 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 710 (assert_return (invoke "i8x16.popcnt-i8x16.popcnt" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 711 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 712 (assert_return (invoke "i8x16.popcnt-i8x16.abs" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 713 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1))