github.com/tetratelabs/wazero@v1.7.3-0.20240513003603-48f702e154b5/internal/integration_test/spectest/v2/testdata/simd_i64x2_extmul_i32x4.wast (about) 1 ;; Tests for i64x2 arithmetic operations on major boundary values and all special values. 2 3 4 (module 5 (func (export "i64x2.extmul_low_i32x4_s") (param v128 v128) (result v128) (i64x2.extmul_low_i32x4_s (local.get 0) (local.get 1))) 6 (func (export "i64x2.extmul_high_i32x4_s") (param v128 v128) (result v128) (i64x2.extmul_high_i32x4_s (local.get 0) (local.get 1))) 7 (func (export "i64x2.extmul_low_i32x4_u") (param v128 v128) (result v128) (i64x2.extmul_low_i32x4_u (local.get 0) (local.get 1))) 8 (func (export "i64x2.extmul_high_i32x4_u") (param v128 v128) (result v128) (i64x2.extmul_high_i32x4_u (local.get 0) (local.get 1))) 9 ) 10 11 12 ;; i64x2.extmul_low_i32x4_s 13 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 0 0 0 0) 14 (v128.const i32x4 0 0 0 0)) 15 (v128.const i64x2 0 0)) 16 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 0 0 0 0) 17 (v128.const i32x4 1 1 1 1)) 18 (v128.const i64x2 0 0)) 19 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 1 1 1 1) 20 (v128.const i32x4 1 1 1 1)) 21 (v128.const i64x2 1 1)) 22 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 0 0 0 0) 23 (v128.const i32x4 -1 -1 -1 -1)) 24 (v128.const i64x2 0 0)) 25 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 1 1 1 1) 26 (v128.const i32x4 -1 -1 -1 -1)) 27 (v128.const i64x2 -1 -1)) 28 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -1 -1 -1 -1) 29 (v128.const i32x4 -1 -1 -1 -1)) 30 (v128.const i64x2 1 1)) 31 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 1073741823 1073741823 1073741823 1073741823) 32 (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)) 33 (v128.const i64x2 1152921503533105152 1152921503533105152)) 34 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 1073741824 1073741824 1073741824 1073741824) 35 (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)) 36 (v128.const i64x2 1152921504606846976 1152921504606846976)) 37 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823) 38 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 39 (v128.const i64x2 1152921503533105152 1152921503533105152)) 40 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824) 41 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 42 (v128.const i64x2 1152921504606846976 1152921504606846976)) 43 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825) 44 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 45 (v128.const i64x2 1152921505680588800 1152921505680588800)) 46 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 2147483645 2147483645 2147483645 2147483645) 47 (v128.const i32x4 1 1 1 1)) 48 (v128.const i64x2 2147483645 2147483645)) 49 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 2147483646 2147483646 2147483646 2147483646) 50 (v128.const i32x4 1 1 1 1)) 51 (v128.const i64x2 2147483646 2147483646)) 52 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 2147483648 2147483648 2147483648 2147483648) 53 (v128.const i32x4 1 1 1 1)) 54 (v128.const i64x2 -2147483648 -2147483648)) 55 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646) 56 (v128.const i32x4 -1 -1 -1 -1)) 57 (v128.const i64x2 2147483646 2147483646)) 58 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647) 59 (v128.const i32x4 -1 -1 -1 -1)) 60 (v128.const i64x2 2147483647 2147483647)) 61 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 62 (v128.const i32x4 -1 -1 -1 -1)) 63 (v128.const i64x2 2147483648 2147483648)) 64 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 2147483647 2147483647 2147483647 2147483647) 65 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 66 (v128.const i64x2 4611686014132420609 4611686014132420609)) 67 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 68 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 69 (v128.const i64x2 4611686018427387904 4611686018427387904)) 70 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 71 (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)) 72 (v128.const i64x2 4611686016279904256 4611686016279904256)) 73 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 74 (v128.const i32x4 0 0 0 0)) 75 (v128.const i64x2 0 0)) 76 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 77 (v128.const i32x4 1 1 1 1)) 78 (v128.const i64x2 -1 -1)) 79 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 80 (v128.const i32x4 -1 -1 -1 -1)) 81 (v128.const i64x2 1 1)) 82 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 83 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 84 (v128.const i64x2 -2147483647 -2147483647)) 85 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 86 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 87 (v128.const i64x2 2147483648 2147483648)) 88 (assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 89 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 90 (v128.const i64x2 1 1)) 91 92 ;; i64x2.extmul_high_i32x4_s 93 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 0 0 0 0) 94 (v128.const i32x4 0 0 0 0)) 95 (v128.const i64x2 0 0)) 96 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 0 0 0 0) 97 (v128.const i32x4 1 1 1 1)) 98 (v128.const i64x2 0 0)) 99 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 1 1 1 1) 100 (v128.const i32x4 1 1 1 1)) 101 (v128.const i64x2 1 1)) 102 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 0 0 0 0) 103 (v128.const i32x4 -1 -1 -1 -1)) 104 (v128.const i64x2 0 0)) 105 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 1 1 1 1) 106 (v128.const i32x4 -1 -1 -1 -1)) 107 (v128.const i64x2 -1 -1)) 108 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -1 -1 -1 -1) 109 (v128.const i32x4 -1 -1 -1 -1)) 110 (v128.const i64x2 1 1)) 111 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 1073741823 1073741823 1073741823 1073741823) 112 (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)) 113 (v128.const i64x2 1152921503533105152 1152921503533105152)) 114 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 1073741824 1073741824 1073741824 1073741824) 115 (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)) 116 (v128.const i64x2 1152921504606846976 1152921504606846976)) 117 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823) 118 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 119 (v128.const i64x2 1152921503533105152 1152921503533105152)) 120 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824) 121 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 122 (v128.const i64x2 1152921504606846976 1152921504606846976)) 123 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825) 124 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 125 (v128.const i64x2 1152921505680588800 1152921505680588800)) 126 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 2147483645 2147483645 2147483645 2147483645) 127 (v128.const i32x4 1 1 1 1)) 128 (v128.const i64x2 2147483645 2147483645)) 129 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 2147483646 2147483646 2147483646 2147483646) 130 (v128.const i32x4 1 1 1 1)) 131 (v128.const i64x2 2147483646 2147483646)) 132 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 2147483648 2147483648 2147483648 2147483648) 133 (v128.const i32x4 1 1 1 1)) 134 (v128.const i64x2 -2147483648 -2147483648)) 135 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646) 136 (v128.const i32x4 -1 -1 -1 -1)) 137 (v128.const i64x2 2147483646 2147483646)) 138 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647) 139 (v128.const i32x4 -1 -1 -1 -1)) 140 (v128.const i64x2 2147483647 2147483647)) 141 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 142 (v128.const i32x4 -1 -1 -1 -1)) 143 (v128.const i64x2 2147483648 2147483648)) 144 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 2147483647 2147483647 2147483647 2147483647) 145 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 146 (v128.const i64x2 4611686014132420609 4611686014132420609)) 147 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 148 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 149 (v128.const i64x2 4611686018427387904 4611686018427387904)) 150 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 151 (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)) 152 (v128.const i64x2 4611686016279904256 4611686016279904256)) 153 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 154 (v128.const i32x4 0 0 0 0)) 155 (v128.const i64x2 0 0)) 156 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 157 (v128.const i32x4 1 1 1 1)) 158 (v128.const i64x2 -1 -1)) 159 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 160 (v128.const i32x4 -1 -1 -1 -1)) 161 (v128.const i64x2 1 1)) 162 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 163 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 164 (v128.const i64x2 -2147483647 -2147483647)) 165 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 166 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 167 (v128.const i64x2 2147483648 2147483648)) 168 (assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 169 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 170 (v128.const i64x2 1 1)) 171 172 ;; i64x2.extmul_low_i32x4_u 173 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 0 0 0 0) 174 (v128.const i32x4 0 0 0 0)) 175 (v128.const i64x2 0 0)) 176 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 0 0 0 0) 177 (v128.const i32x4 1 1 1 1)) 178 (v128.const i64x2 0 0)) 179 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 1 1 1 1) 180 (v128.const i32x4 1 1 1 1)) 181 (v128.const i64x2 1 1)) 182 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 0 0 0 0) 183 (v128.const i32x4 -1 -1 -1 -1)) 184 (v128.const i64x2 0 0)) 185 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 1 1 1 1) 186 (v128.const i32x4 -1 -1 -1 -1)) 187 (v128.const i64x2 4294967295 4294967295)) 188 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -1 -1 -1 -1) 189 (v128.const i32x4 -1 -1 -1 -1)) 190 (v128.const i64x2 -8589934591 -8589934591)) 191 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 1073741823 1073741823 1073741823 1073741823) 192 (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)) 193 (v128.const i64x2 1152921503533105152 1152921503533105152)) 194 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 1073741824 1073741824 1073741824 1073741824) 195 (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)) 196 (v128.const i64x2 1152921504606846976 1152921504606846976)) 197 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823) 198 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 199 (v128.const i64x2 -8070450529026703360 -8070450529026703360)) 200 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824) 201 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 202 (v128.const i64x2 -8070450532247928832 -8070450532247928832)) 203 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825) 204 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 205 (v128.const i64x2 -8070450535469154304 -8070450535469154304)) 206 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 2147483645 2147483645 2147483645 2147483645) 207 (v128.const i32x4 1 1 1 1)) 208 (v128.const i64x2 2147483645 2147483645)) 209 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 2147483646 2147483646 2147483646 2147483646) 210 (v128.const i32x4 1 1 1 1)) 211 (v128.const i64x2 2147483646 2147483646)) 212 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 2147483648 2147483648 2147483648 2147483648) 213 (v128.const i32x4 1 1 1 1)) 214 (v128.const i64x2 2147483648 2147483648)) 215 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646) 216 (v128.const i32x4 -1 -1 -1 -1)) 217 (v128.const i64x2 -9223372030412324866 -9223372030412324866)) 218 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647) 219 (v128.const i32x4 -1 -1 -1 -1)) 220 (v128.const i64x2 -9223372034707292161 -9223372034707292161)) 221 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 222 (v128.const i32x4 -1 -1 -1 -1)) 223 (v128.const i64x2 9223372034707292160 9223372034707292160)) 224 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 2147483647 2147483647 2147483647 2147483647) 225 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 226 (v128.const i64x2 4611686014132420609 4611686014132420609)) 227 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 228 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 229 (v128.const i64x2 4611686018427387904 4611686018427387904)) 230 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 231 (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)) 232 (v128.const i64x2 4611686020574871552 4611686020574871552)) 233 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 234 (v128.const i32x4 0 0 0 0)) 235 (v128.const i64x2 0 0)) 236 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 237 (v128.const i32x4 1 1 1 1)) 238 (v128.const i64x2 4294967295 4294967295)) 239 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 240 (v128.const i32x4 -1 -1 -1 -1)) 241 (v128.const i64x2 -8589934591 -8589934591)) 242 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 243 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 244 (v128.const i64x2 9223372030412324865 9223372030412324865)) 245 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 246 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 247 (v128.const i64x2 9223372034707292160 9223372034707292160)) 248 (assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 249 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 250 (v128.const i64x2 -8589934591 -8589934591)) 251 252 ;; i64x2.extmul_high_i32x4_u 253 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 0 0 0 0) 254 (v128.const i32x4 0 0 0 0)) 255 (v128.const i64x2 0 0)) 256 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 0 0 0 0) 257 (v128.const i32x4 1 1 1 1)) 258 (v128.const i64x2 0 0)) 259 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 1 1 1 1) 260 (v128.const i32x4 1 1 1 1)) 261 (v128.const i64x2 1 1)) 262 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 0 0 0 0) 263 (v128.const i32x4 -1 -1 -1 -1)) 264 (v128.const i64x2 0 0)) 265 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 1 1 1 1) 266 (v128.const i32x4 -1 -1 -1 -1)) 267 (v128.const i64x2 4294967295 4294967295)) 268 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -1 -1 -1 -1) 269 (v128.const i32x4 -1 -1 -1 -1)) 270 (v128.const i64x2 -8589934591 -8589934591)) 271 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 1073741823 1073741823 1073741823 1073741823) 272 (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)) 273 (v128.const i64x2 1152921503533105152 1152921503533105152)) 274 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 1073741824 1073741824 1073741824 1073741824) 275 (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)) 276 (v128.const i64x2 1152921504606846976 1152921504606846976)) 277 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823) 278 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 279 (v128.const i64x2 -8070450529026703360 -8070450529026703360)) 280 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824) 281 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 282 (v128.const i64x2 -8070450532247928832 -8070450532247928832)) 283 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825) 284 (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)) 285 (v128.const i64x2 -8070450535469154304 -8070450535469154304)) 286 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 2147483645 2147483645 2147483645 2147483645) 287 (v128.const i32x4 1 1 1 1)) 288 (v128.const i64x2 2147483645 2147483645)) 289 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 2147483646 2147483646 2147483646 2147483646) 290 (v128.const i32x4 1 1 1 1)) 291 (v128.const i64x2 2147483646 2147483646)) 292 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 2147483648 2147483648 2147483648 2147483648) 293 (v128.const i32x4 1 1 1 1)) 294 (v128.const i64x2 2147483648 2147483648)) 295 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646) 296 (v128.const i32x4 -1 -1 -1 -1)) 297 (v128.const i64x2 -9223372030412324866 -9223372030412324866)) 298 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647) 299 (v128.const i32x4 -1 -1 -1 -1)) 300 (v128.const i64x2 -9223372034707292161 -9223372034707292161)) 301 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 302 (v128.const i32x4 -1 -1 -1 -1)) 303 (v128.const i64x2 9223372034707292160 9223372034707292160)) 304 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 2147483647 2147483647 2147483647 2147483647) 305 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 306 (v128.const i64x2 4611686014132420609 4611686014132420609)) 307 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 308 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 309 (v128.const i64x2 4611686018427387904 4611686018427387904)) 310 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) 311 (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)) 312 (v128.const i64x2 4611686020574871552 4611686020574871552)) 313 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 314 (v128.const i32x4 0 0 0 0)) 315 (v128.const i64x2 0 0)) 316 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 317 (v128.const i32x4 1 1 1 1)) 318 (v128.const i64x2 4294967295 4294967295)) 319 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 320 (v128.const i32x4 -1 -1 -1 -1)) 321 (v128.const i64x2 -8589934591 -8589934591)) 322 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 323 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 324 (v128.const i64x2 9223372030412324865 9223372030412324865)) 325 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 326 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 327 (v128.const i64x2 9223372034707292160 9223372034707292160)) 328 (assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) 329 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 330 (v128.const i64x2 -8589934591 -8589934591)) 331 332 ;; type check 333 (assert_invalid (module (func (result v128) (i64x2.extmul_low_i32x4_s (i32.const 0) (f32.const 0.0)))) "type mismatch") 334 (assert_invalid (module (func (result v128) (i64x2.extmul_high_i32x4_s (i32.const 0) (f32.const 0.0)))) "type mismatch") 335 (assert_invalid (module (func (result v128) (i64x2.extmul_low_i32x4_u (i32.const 0) (f32.const 0.0)))) "type mismatch") 336 (assert_invalid (module (func (result v128) (i64x2.extmul_high_i32x4_u (i32.const 0) (f32.const 0.0)))) "type mismatch") 337 338 ;; Test operation with empty argument 339 340 (assert_invalid 341 (module 342 (func $i64x2.extmul_low_i32x4_s-1st-arg-empty (result v128) 343 (i64x2.extmul_low_i32x4_s (v128.const i64x2 0 0)) 344 ) 345 ) 346 "type mismatch" 347 ) 348 (assert_invalid 349 (module 350 (func $i64x2.extmul_low_i32x4_s-arg-empty (result v128) 351 (i64x2.extmul_low_i32x4_s) 352 ) 353 ) 354 "type mismatch" 355 ) 356 (assert_invalid 357 (module 358 (func $i64x2.extmul_high_i32x4_s-1st-arg-empty (result v128) 359 (i64x2.extmul_high_i32x4_s (v128.const i64x2 0 0)) 360 ) 361 ) 362 "type mismatch" 363 ) 364 (assert_invalid 365 (module 366 (func $i64x2.extmul_high_i32x4_s-arg-empty (result v128) 367 (i64x2.extmul_high_i32x4_s) 368 ) 369 ) 370 "type mismatch" 371 ) 372 (assert_invalid 373 (module 374 (func $i64x2.extmul_low_i32x4_u-1st-arg-empty (result v128) 375 (i64x2.extmul_low_i32x4_u (v128.const i64x2 0 0)) 376 ) 377 ) 378 "type mismatch" 379 ) 380 (assert_invalid 381 (module 382 (func $i64x2.extmul_low_i32x4_u-arg-empty (result v128) 383 (i64x2.extmul_low_i32x4_u) 384 ) 385 ) 386 "type mismatch" 387 ) 388 (assert_invalid 389 (module 390 (func $i64x2.extmul_high_i32x4_u-1st-arg-empty (result v128) 391 (i64x2.extmul_high_i32x4_u (v128.const i64x2 0 0)) 392 ) 393 ) 394 "type mismatch" 395 ) 396 (assert_invalid 397 (module 398 (func $i64x2.extmul_high_i32x4_u-arg-empty (result v128) 399 (i64x2.extmul_high_i32x4_u) 400 ) 401 ) 402 "type mismatch" 403 ) 404