github.com/tetratelabs/wazero@v1.7.3-0.20240513003603-48f702e154b5/internal/integration_test/spectest/v2/testdata/simd_boolean.wast (about) 1 ;; Test all the boolean operators on major boundary values and all special values. 2 3 (module 4 (func (export "i8x16.any_true") (param $0 v128) (result i32) (v128.any_true (local.get $0))) 5 (func (export "i8x16.all_true") (param $0 v128) (result i32) (i8x16.all_true (local.get $0))) 6 (func (export "i8x16.bitmask") (param $0 v128) (result i32) (i8x16.bitmask (local.get $0))) 7 8 (func (export "i16x8.any_true") (param $0 v128) (result i32) (v128.any_true (local.get $0))) 9 (func (export "i16x8.all_true") (param $0 v128) (result i32) (i16x8.all_true (local.get $0))) 10 (func (export "i16x8.bitmask") (param $0 v128) (result i32) (i16x8.bitmask (local.get $0))) 11 12 (func (export "i32x4.any_true") (param $0 v128) (result i32) (v128.any_true (local.get $0))) 13 (func (export "i32x4.all_true") (param $0 v128) (result i32) (i32x4.all_true (local.get $0))) 14 (func (export "i32x4.bitmask") (param $0 v128) (result i32) (i32x4.bitmask (local.get $0))) 15 16 (func (export "i64x2.all_true") (param $0 v128) (result i32) (i64x2.all_true (local.get $0))) 17 (func (export "i64x2.bitmask") (param $0 v128) (result i32) (i64x2.bitmask (local.get $0))) 18 ) 19 20 ;; i8x16 21 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 22 (i32.const 0)) 23 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 24 (i32.const 1)) 25 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1)) 26 (i32.const 1)) 27 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 28 (i32.const 1)) 29 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 -1 0 1 2 3 4 5 6 7 8 9 0xA 0xB 0xC 0xD 0xF)) 30 (i32.const 1)) 31 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00)) 32 (i32.const 0)) 33 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF)) 34 (i32.const 1)) 35 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB)) 36 (i32.const 1)) 37 (assert_return (invoke "i8x16.any_true" (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55)) 38 (i32.const 1)) 39 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 40 (i32.const 0)) 41 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 42 (i32.const 0)) 43 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1)) 44 (i32.const 0)) 45 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 46 (i32.const 1)) 47 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 -1 0 1 2 3 4 5 6 7 8 9 0xA 0xB 0xC 0xD 0xF)) 48 (i32.const 0)) 49 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00)) 50 (i32.const 0)) 51 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF)) 52 (i32.const 1)) 53 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB)) 54 (i32.const 1)) 55 (assert_return (invoke "i8x16.all_true" (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55)) 56 (i32.const 1)) 57 (assert_return (invoke "i8x16.bitmask" (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF)) 58 (i32.const 0x0000FFFF)) 59 (assert_return (invoke "i8x16.bitmask" (v128.const i8x16 -1 0 1 2 3 4 5 6 7 8 9 0xA 0xB 0xC 0xD 0xF)) 60 (i32.const 0x00000001)) 61 62 ;; i16x8 63 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 0 0 0 0 0 0 0 0)) 64 (i32.const 0)) 65 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 0 0 0 0 0 0 1 0)) 66 (i32.const 1)) 67 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 1 1 1 1 1 1 0 1)) 68 (i32.const 1)) 69 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 1 1 1 1 1 1 1 1)) 70 (i32.const 1)) 71 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 -1 0 1 2 0xB 0xC 0xD 0xF)) 72 (i32.const 1)) 73 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00)) 74 (i32.const 0)) 75 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF)) 76 (i32.const 1)) 77 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB)) 78 (i32.const 1)) 79 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55)) 80 (i32.const 1)) 81 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)) 82 (i32.const 1)) 83 (assert_return (invoke "i16x8.any_true" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)) 84 (i32.const 1)) 85 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 0 0 0 0 0 0 0 0)) 86 (i32.const 0)) 87 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 0 0 0 0 0 0 1 0)) 88 (i32.const 0)) 89 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 1 1 1 1 1 1 0 1)) 90 (i32.const 0)) 91 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 1 1 1 1 1 1 1 1)) 92 (i32.const 1)) 93 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 -1 0 1 2 0xB 0xC 0xD 0xF)) 94 (i32.const 0)) 95 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00)) 96 (i32.const 0)) 97 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF)) 98 (i32.const 1)) 99 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB 0xAB)) 100 (i32.const 1)) 101 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55)) 102 (i32.const 1)) 103 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)) 104 (i32.const 1)) 105 (assert_return (invoke "i16x8.all_true" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)) 106 (i32.const 1)) 107 (assert_return (invoke "i16x8.bitmask" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)) 108 (i32.const 0x000000FF)) 109 (assert_return (invoke "i16x8.bitmask" (v128.const i16x8 -1 0 1 2 0xB 0xC 0xD 0xF)) 110 (i32.const 0x00000001)) 111 112 ;; i32x4 113 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 0 0 0 0)) 114 (i32.const 0)) 115 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 0 0 1 0)) 116 (i32.const 1)) 117 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 1 1 0 1)) 118 (i32.const 1)) 119 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 1 1 1 1)) 120 (i32.const 1)) 121 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 -1 0 1 0xF)) 122 (i32.const 1)) 123 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 0x00 0x00 0x00 0x00)) 124 (i32.const 0)) 125 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 0xFF 0xFF 0xFF 0xFF)) 126 (i32.const 1)) 127 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 0xAB 0xAB 0xAB 0xAB)) 128 (i32.const 1)) 129 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 0x55 0x55 0x55 0x55)) 130 (i32.const 1)) 131 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 01_234_567_890 01_234_567_890 01_234_567_890 01_234_567_890)) 132 (i32.const 1)) 133 (assert_return (invoke "i32x4.any_true" (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678)) 134 (i32.const 1)) 135 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 0 0 0 0)) 136 (i32.const 0)) 137 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 0 0 1 0)) 138 (i32.const 0)) 139 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 1 1 0 1)) 140 (i32.const 0)) 141 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 1 1 1 1)) 142 (i32.const 1)) 143 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 -1 0 1 0xF)) 144 (i32.const 0)) 145 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 0x00 0x00 0x00 0x00)) 146 (i32.const 0)) 147 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 0xFF 0xFF 0xFF 0xFF)) 148 (i32.const 1)) 149 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 0xAB 0xAB 0xAB 0xAB)) 150 (i32.const 1)) 151 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 0x55 0x55 0x55 0x55)) 152 (i32.const 1)) 153 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 01_234_567_890 01_234_567_890 01_234_567_890 01_234_567_890)) 154 (i32.const 1)) 155 (assert_return (invoke "i32x4.all_true" (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678)) 156 (i32.const 1)) 157 (assert_return (invoke "i32x4.bitmask" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)) 158 (i32.const 0x0000000F)) 159 (assert_return (invoke "i32x4.bitmask" (v128.const i32x4 -1 0 1 0xF)) 160 (i32.const 0x00000001)) 161 162 ;; i64x2 163 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 0 0)) 164 (i32.const 0)) 165 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 0 1)) 166 (i32.const 0)) 167 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 1 0)) 168 (i32.const 0)) 169 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 1 1)) 170 (i32.const 1)) 171 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 -1 0)) 172 (i32.const 0)) 173 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 0x00 0x00)) 174 (i32.const 0)) 175 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 0xFF 0xFF)) 176 (i32.const 1)) 177 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 0xAB 0xAB)) 178 (i32.const 1)) 179 (assert_return (invoke "i64x2.all_true" (v128.const i64x2 0x55 0x55)) 180 (i32.const 1)) 181 (assert_return (invoke "i64x2.bitmask" (v128.const i64x2 0xFFFFFFFF_FFFFFFFF 0xFFFFFFFF_FFFFFFFF)) 182 (i32.const 0x00000003)) 183 (assert_return (invoke "i64x2.bitmask" (v128.const i64x2 -1 0xF)) 184 (i32.const 0x00000001)) 185 186 ;; Combination 187 188 (module (memory 1) 189 ;; as if condition 190 (func (export "i8x16_any_true_as_if_cond") (param v128) (result i32) 191 (if (result i32) (v128.any_true (local.get 0)) 192 (then (i32.const 1)) 193 (else (i32.const 0)) 194 ) 195 ) 196 (func (export "i16x8_any_true_as_if_cond") (param v128) (result i32) 197 (if (result i32) (v128.any_true (local.get 0)) 198 (then (i32.const 1)) 199 (else (i32.const 0)) 200 ) 201 ) 202 (func (export "i32x4_any_true_as_if_cond") (param v128) (result i32) 203 (if (result i32) (v128.any_true (local.get 0)) 204 (then (i32.const 1)) 205 (else (i32.const 0)) 206 ) 207 ) 208 (func (export "i8x16_all_true_as_if_cond") (param v128) (result i32) 209 (if (result i32) (i8x16.all_true (local.get 0)) 210 (then (i32.const 1)) 211 (else (i32.const 0)) 212 ) 213 ) 214 (func (export "i16x8_all_true_as_if_cond") (param v128) (result i32) 215 (if (result i32) (i16x8.all_true (local.get 0)) 216 (then (i32.const 1)) 217 (else (i32.const 0)) 218 ) 219 ) 220 (func (export "i32x4_all_true_as_if_cond") (param v128) (result i32) 221 (if (result i32) (i32x4.all_true (local.get 0)) 222 (then (i32.const 1)) 223 (else (i32.const 0)) 224 ) 225 ) 226 ;; any_true as select condition 227 (func (export "i8x16_any_true_as_select_cond") (param v128) (result i32) 228 (select (i32.const 1) (i32.const 0) (v128.any_true (local.get 0))) 229 ) 230 (func (export "i16x8_any_true_as_select_cond") (param v128) (result i32) 231 (select (i32.const 1) (i32.const 0) (v128.any_true (local.get 0))) 232 ) 233 (func (export "i32x4_any_true_as_select_cond") (param v128) (result i32) 234 (select (i32.const 1) (i32.const 0) (v128.any_true (local.get 0))) 235 ) 236 ;; all_true as select condition 237 (func (export "i8x16_all_true_as_select_cond") (param v128) (result i32) 238 (select (i32.const 1) (i32.const 0) (i8x16.all_true (local.get 0))) 239 ) 240 (func (export "i16x8_all_true_as_select_cond") (param v128) (result i32) 241 (select (i32.const 1) (i32.const 0) (i16x8.all_true (local.get 0))) 242 ) 243 (func (export "i32x4_all_true_as_select_cond") (param v128) (result i32) 244 (select (i32.const 1) (i32.const 0) (i32x4.all_true (local.get 0))) 245 ) 246 ;; any_true as br_if condition 247 (func (export "i8x16_any_true_as_br_if_cond") (param $0 v128) (result i32) 248 (local $1 i32) 249 (local.set $1 (i32.const 2)) 250 (block 251 (local.set $1 (i32.const 1)) 252 (br_if 0 (v128.any_true (local.get $0))) 253 (local.set $1 (i32.const 0)) 254 ) 255 (local.get $1) 256 ) 257 (func (export "i16x8_any_true_as_br_if_cond") (param $0 v128) (result i32) 258 (local $1 i32) 259 (local.set $1 (i32.const 2)) 260 (block 261 (local.set $1 (i32.const 1)) 262 (br_if 0 (v128.any_true (local.get $0))) 263 (local.set $1 (i32.const 0)) 264 ) 265 (local.get $1) 266 ) 267 (func (export "i32x4_any_true_as_br_if_cond") (param $0 v128) (result i32) 268 (local $1 i32) 269 (local.set $1 (i32.const 2)) 270 (block 271 (local.set $1 (i32.const 1)) 272 (br_if 0 (v128.any_true (local.get $0))) 273 (local.set $1 (i32.const 0)) 274 ) 275 (local.get $1) 276 ) 277 ;; all_true as br_if condition 278 (func (export "i8x16_all_true_as_br_if_cond") (param $0 v128) (result i32) 279 (local $1 i32) 280 (local.set $1 (i32.const 2)) 281 (block 282 (local.set $1 (i32.const 1)) 283 (br_if 0 (i8x16.all_true (local.get $0))) 284 (local.set $1 (i32.const 0)) 285 ) 286 (local.get $1) 287 ) 288 (func (export "i16x8_all_true_as_br_if_cond") (param $0 v128) (result i32) 289 (local $1 i32) 290 (local.set $1 (i32.const 2)) 291 (block 292 (local.set $1 (i32.const 1)) 293 (br_if 0 (i16x8.all_true (local.get $0))) 294 (local.set $1 (i32.const 0)) 295 ) 296 (local.get $1) 297 ) 298 (func (export "i32x4_all_true_as_br_if_cond") (param $0 v128) (result i32) 299 (local $1 i32) 300 (local.set $1 (i32.const 2)) 301 (block 302 (local.set $1 (i32.const 1)) 303 (br_if 0 (i32x4.all_true (local.get $0))) 304 (local.set $1 (i32.const 0)) 305 ) 306 (local.get $1) 307 ) 308 ;; any_true as i32.and operand 309 (func (export "i8x16_any_true_as_i32.and_operand") (param $0 v128) (param $1 v128) (result i32) 310 (i32.and (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 311 ) 312 (func (export "i16x8_any_true_as_i32.and_operand") (param $0 v128) (param $1 v128) (result i32) 313 (i32.and (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 314 ) 315 (func (export "i32x4_any_true_as_i32.and_operand") (param $0 v128) (param $1 v128) (result i32) 316 (i32.and (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 317 ) 318 ;; any_true as i32.or operand 319 (func (export "i8x16_any_true_as_i32.or_operand") (param $0 v128) (param $1 v128) (result i32) 320 (i32.or (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 321 ) 322 (func (export "i16x8_any_true_as_i32.or_operand") (param $0 v128) (param $1 v128) (result i32) 323 (i32.or (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 324 ) 325 (func (export "i32x4_any_true_as_i32.or_operand") (param $0 v128) (param $1 v128) (result i32) 326 (i32.or (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 327 ) 328 ;; any_true as i32.xor operand 329 (func (export "i8x16_any_true_as_i32.xor_operand") (param $0 v128) (param $1 v128) (result i32) 330 (i32.xor (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 331 ) 332 (func (export "i16x8_any_true_as_i32.xor_operand") (param $0 v128) (param $1 v128) (result i32) 333 (i32.xor (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 334 ) 335 (func (export "i32x4_any_true_as_i32.xor_operand") (param $0 v128) (param $1 v128) (result i32) 336 (i32.xor (v128.any_true (local.get $0)) (v128.any_true (local.get $1))) 337 ) 338 ;; all_true as i32.and operand 339 (func (export "i8x16_all_true_as_i32.and_operand") (param $0 v128) (param $1 v128) (result i32) 340 (i32.and (i8x16.all_true (local.get $0)) (i8x16.all_true (local.get $1))) 341 ) 342 (func (export "i16x8_all_true_as_i32.and_operand") (param $0 v128) (param $1 v128) (result i32) 343 (i32.and (i16x8.all_true (local.get $0)) (i16x8.all_true (local.get $1))) 344 ) 345 (func (export "i32x4_all_true_as_i32.and_operand") (param $0 v128) (param $1 v128) (result i32) 346 (i32.and (i32x4.all_true (local.get $0)) (i32x4.all_true (local.get $1))) 347 ) 348 ;; all_true as i32.or operand 349 (func (export "i8x16_all_true_as_i32.or_operand") (param $0 v128) (param $1 v128) (result i32) 350 (i32.or (i8x16.all_true (local.get $0)) (i8x16.all_true (local.get $1))) 351 ) 352 (func (export "i16x8_all_true_as_i32.or_operand") (param $0 v128) (param $1 v128) (result i32) 353 (i32.or (i16x8.all_true (local.get $0)) (i16x8.all_true (local.get $1))) 354 ) 355 (func (export "i32x4_all_true_as_i32.or_operand") (param $0 v128) (param $1 v128) (result i32) 356 (i32.or (i32x4.all_true (local.get $0)) (i32x4.all_true (local.get $1))) 357 ) 358 ;; all_true as i32.xor operand 359 (func (export "i8x16_all_true_as_i32.xor_operand") (param $0 v128) (param $1 v128) (result i32) 360 (i32.xor (i8x16.all_true (local.get $0)) (i8x16.all_true (local.get $1))) 361 ) 362 (func (export "i16x8_all_true_as_i32.xor_operand") (param $0 v128) (param $1 v128) (result i32) 363 (i32.xor (i16x8.all_true (local.get $0)) (i16x8.all_true (local.get $1))) 364 ) 365 (func (export "i32x4_all_true_as_i32.xor_operand") (param $0 v128) (param $1 v128) (result i32) 366 (i32.xor (i32x4.all_true (local.get $0)) (i32x4.all_true (local.get $1))) 367 ) 368 ;; any_true with v128.not 369 (func (export "i8x16_any_true_with_v128.not") (param $0 v128) (result i32) 370 (v128.any_true (v128.not (local.get $0))) 371 ) 372 (func (export "i16x8_any_true_with_v128.not") (param $0 v128) (result i32) 373 (v128.any_true (v128.not (local.get $0))) 374 ) 375 (func (export "i32x4_any_true_with_v128.not") (param $0 v128) (result i32) 376 (v128.any_true (v128.not (local.get $0))) 377 ) 378 ;; any_true with v128.and 379 (func (export "i8x16_any_true_with_v128.and") (param $0 v128) (param $1 v128) (result i32) 380 (v128.any_true (v128.and (local.get $0) (local.get $1))) 381 ) 382 (func (export "i16x8_any_true_with_v128.and") (param $0 v128) (param $1 v128) (result i32) 383 (v128.any_true (v128.and (local.get $0) (local.get $1))) 384 ) 385 (func (export "i32x4_any_true_with_v128.and") (param $0 v128) (param $1 v128) (result i32) 386 (v128.any_true (v128.and (local.get $0) (local.get $1))) 387 ) 388 ;; any_true with v128.or 389 (func (export "i8x16_any_true_with_v128.or") (param $0 v128) (param $1 v128) (result i32) 390 (v128.any_true (v128.or (local.get $0) (local.get $1))) 391 ) 392 (func (export "i16x8_any_true_with_v128.or") (param $0 v128) (param $1 v128) (result i32) 393 (v128.any_true (v128.or (local.get $0) (local.get $1))) 394 ) 395 (func (export "i32x4_any_true_with_v128.or") (param $0 v128) (param $1 v128) (result i32) 396 (v128.any_true (v128.or (local.get $0) (local.get $1))) 397 ) 398 ;; any_true with v128.xor 399 (func (export "i8x16_any_true_with_v128.xor") (param $0 v128) (param $1 v128) (result i32) 400 (v128.any_true (v128.xor (local.get $0) (local.get $1))) 401 ) 402 (func (export "i16x8_any_true_with_v128.xor") (param $0 v128) (param $1 v128) (result i32) 403 (v128.any_true (v128.xor (local.get $0) (local.get $1))) 404 ) 405 (func (export "i32x4_any_true_with_v128.xor") (param $0 v128) (param $1 v128) (result i32) 406 (v128.any_true (v128.xor (local.get $0) (local.get $1))) 407 ) 408 ;; any_true with v128.bitselect 409 (func (export "i8x16_any_true_with_v128.bitselect") (param $0 v128) (param $1 v128) (param $2 v128) (result i32) 410 (v128.any_true (v128.bitselect (local.get $0) (local.get $1) (local.get $2))) 411 ) 412 (func (export "i16x8_any_true_with_v128.bitselect") (param $0 v128) (param $1 v128) (param $2 v128) (result i32) 413 (v128.any_true (v128.bitselect (local.get $0) (local.get $1) (local.get $2))) 414 ) 415 (func (export "i32x4_any_true_with_v128.bitselect") (param $0 v128) (param $1 v128) (param $2 v128) (result i32) 416 (v128.any_true (v128.bitselect (local.get $0) (local.get $1) (local.get $2))) 417 ) 418 ;; all_true with v128.not 419 (func (export "i8x16_all_true_with_v128.not") (param $0 v128) (result i32) 420 (i8x16.all_true (v128.not (local.get $0))) 421 ) 422 (func (export "i16x8_all_true_with_v128.not") (param $0 v128) (result i32) 423 (i16x8.all_true (v128.not (local.get $0))) 424 ) 425 (func (export "i32x4_all_true_with_v128.not") (param $0 v128) (result i32) 426 (i32x4.all_true (v128.not (local.get $0))) 427 ) 428 ;; all_true with v128.and 429 (func (export "i8x16_all_true_with_v128.and") (param $0 v128) (param $1 v128) (result i32) 430 (i8x16.all_true (v128.and (local.get $0) (local.get $1))) 431 ) 432 (func (export "i16x8_all_true_with_v128.and") (param $0 v128) (param $1 v128) (result i32) 433 (i16x8.all_true (v128.and (local.get $0) (local.get $1))) 434 ) 435 (func (export "i32x4_all_true_with_v128.and") (param $0 v128) (param $1 v128) (result i32) 436 (i32x4.all_true (v128.and (local.get $0) (local.get $1))) 437 ) 438 ;; all_true with v128.or 439 (func (export "i8x16_all_true_with_v128.or") (param $0 v128) (param $1 v128) (result i32) 440 (i8x16.all_true (v128.or (local.get $0) (local.get $1))) 441 ) 442 (func (export "i16x8_all_true_with_v128.or") (param $0 v128) (param $1 v128) (result i32) 443 (i16x8.all_true (v128.or (local.get $0) (local.get $1))) 444 ) 445 (func (export "i32x4_all_true_with_v128.or") (param $0 v128) (param $1 v128) (result i32) 446 (i32x4.all_true (v128.or (local.get $0) (local.get $1))) 447 ) 448 ;; all_true with v128.xor 449 (func (export "i8x16_all_true_with_v128.xor") (param $0 v128) (param $1 v128) (result i32) 450 (i8x16.all_true (v128.xor (local.get $0) (local.get $1))) 451 ) 452 (func (export "i16x8_all_true_with_v128.xor") (param $0 v128) (param $1 v128) (result i32) 453 (i16x8.all_true (v128.xor (local.get $0) (local.get $1))) 454 ) 455 (func (export "i32x4_all_true_with_v128.xor") (param $0 v128) (param $1 v128) (result i32) 456 (i32x4.all_true (v128.xor (local.get $0) (local.get $1))) 457 ) 458 ;; all_true with v128.bitselect 459 (func (export "i8x16_all_true_with_v128.bitselect") (param $0 v128) (param $1 v128) (param $2 v128) (result i32) 460 (i8x16.all_true (v128.bitselect (local.get $0) (local.get $1) (local.get $2))) 461 ) 462 (func (export "i16x8_all_true_with_v128.bitselect") (param $0 v128) (param $1 v128) (param $2 v128) (result i32) 463 (i16x8.all_true (v128.bitselect (local.get $0) (local.get $1) (local.get $2))) 464 ) 465 (func (export "i32x4_all_true_with_v128.bitselect") (param $0 v128) (param $1 v128) (param $2 v128) (result i32) 466 (i32x4.all_true (v128.bitselect (local.get $0) (local.get $1) (local.get $2))) 467 ) 468 ) 469 470 ;; 'any_true' as 'if' condition 471 ;; i8x16 472 (assert_return (invoke "i8x16_any_true_as_if_cond" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 473 (i32.const 0)) 474 (assert_return (invoke "i8x16_any_true_as_if_cond" (v128.const i8x16 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0)) 475 (i32.const 1)) 476 (assert_return (invoke "i8x16_any_true_as_if_cond" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 477 (i32.const 1)) 478 ;; i16x8 479 (assert_return (invoke "i16x8_any_true_as_if_cond" (v128.const i16x8 0 0 0 0 0 0 0 0)) 480 (i32.const 0)) 481 (assert_return (invoke "i16x8_any_true_as_if_cond" (v128.const i16x8 0 0 1 0 0 0 1 0)) 482 (i32.const 1)) 483 (assert_return (invoke "i16x8_any_true_as_if_cond" (v128.const i16x8 1 1 1 1 1 1 1 1)) 484 (i32.const 1)) 485 ;; i32x4 486 (assert_return (invoke "i32x4_any_true_as_if_cond" (v128.const i32x4 0 0 0 0)) 487 (i32.const 0)) 488 (assert_return (invoke "i32x4_any_true_as_if_cond" (v128.const i32x4 0 0 1 0)) 489 (i32.const 1)) 490 (assert_return (invoke "i32x4_any_true_as_if_cond" (v128.const i32x4 1 1 1 1)) 491 (i32.const 1)) 492 493 ;; 'all_true' as 'if' condition 494 ;; i8x16 495 (assert_return (invoke "i8x16_all_true_as_if_cond" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 496 (i32.const 0)) 497 (assert_return (invoke "i8x16_all_true_as_if_cond" (v128.const i8x16 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0)) 498 (i32.const 0)) 499 (assert_return (invoke "i8x16_all_true_as_if_cond" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 500 (i32.const 1)) 501 ;; i16x8 502 (assert_return (invoke "i16x8_all_true_as_if_cond" (v128.const i16x8 0 0 0 0 0 0 0 0)) 503 (i32.const 0)) 504 (assert_return (invoke "i16x8_all_true_as_if_cond" (v128.const i16x8 1 1 1 0 1 1 1 0)) 505 (i32.const 0)) 506 (assert_return (invoke "i16x8_all_true_as_if_cond" (v128.const i16x8 1 1 1 1 1 1 1 1)) 507 (i32.const 1)) 508 ;; i32x4 509 (assert_return (invoke "i32x4_all_true_as_if_cond" (v128.const i32x4 0 0 0 0)) 510 (i32.const 0)) 511 (assert_return (invoke "i32x4_all_true_as_if_cond" (v128.const i32x4 1 1 1 0)) 512 (i32.const 0)) 513 (assert_return (invoke "i32x4_all_true_as_if_cond" (v128.const i32x4 1 1 1 1)) 514 (i32.const 1)) 515 516 ;; any_true as select condition 517 (assert_return (invoke "i8x16_any_true_as_select_cond" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 518 (i32.const 0)) 519 (assert_return (invoke "i8x16_any_true_as_select_cond" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 520 (i32.const 1)) 521 (assert_return (invoke "i16x8_any_true_as_select_cond" (v128.const i16x8 0 0 0 0 0 0 0 0)) 522 (i32.const 0)) 523 (assert_return (invoke "i16x8_any_true_as_select_cond" (v128.const i16x8 0 0 0 0 0 0 1 0)) 524 (i32.const 1)) 525 (assert_return (invoke "i32x4_any_true_as_select_cond" (v128.const i32x4 0 0 0 0)) 526 (i32.const 0)) 527 (assert_return (invoke "i32x4_any_true_as_select_cond" (v128.const i32x4 0 0 1 0)) 528 (i32.const 1)) 529 ;; all_true as select condition 530 (assert_return (invoke "i8x16_all_true_as_select_cond" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 531 (i32.const 1)) 532 (assert_return (invoke "i8x16_all_true_as_select_cond" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1)) 533 (i32.const 0)) 534 (assert_return (invoke "i16x8_all_true_as_select_cond" (v128.const i16x8 1 1 1 1 1 1 1 1)) 535 (i32.const 1)) 536 (assert_return (invoke "i16x8_all_true_as_select_cond" (v128.const i16x8 1 1 1 1 1 1 0 1)) 537 (i32.const 0)) 538 (assert_return (invoke "i32x4_all_true_as_select_cond" (v128.const i32x4 1 1 1 1)) 539 (i32.const 1)) 540 (assert_return (invoke "i32x4_all_true_as_select_cond" (v128.const i32x4 1 1 0 1)) 541 (i32.const 0)) 542 ;; any_true as br_if condition 543 (assert_return (invoke "i8x16_any_true_as_br_if_cond" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 544 (i32.const 0)) 545 (assert_return (invoke "i8x16_any_true_as_br_if_cond" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 546 (i32.const 1)) 547 (assert_return (invoke "i16x8_any_true_as_br_if_cond" (v128.const i16x8 0 0 0 0 0 0 0 0)) 548 (i32.const 0)) 549 (assert_return (invoke "i16x8_any_true_as_br_if_cond" (v128.const i16x8 0 0 0 0 0 0 1 0)) 550 (i32.const 1)) 551 (assert_return (invoke "i32x4_any_true_as_br_if_cond" (v128.const i32x4 0 0 0 0)) 552 (i32.const 0)) 553 (assert_return (invoke "i32x4_any_true_as_br_if_cond" (v128.const i32x4 0 0 1 0)) 554 (i32.const 1)) 555 ;; all_true as br_if condition 556 (assert_return (invoke "i8x16_all_true_as_br_if_cond" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 557 (i32.const 1)) 558 (assert_return (invoke "i8x16_all_true_as_br_if_cond" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1)) 559 (i32.const 0)) 560 (assert_return (invoke "i16x8_all_true_as_br_if_cond" (v128.const i16x8 1 1 1 1 1 1 1 1)) 561 (i32.const 1)) 562 (assert_return (invoke "i16x8_all_true_as_br_if_cond" (v128.const i16x8 1 1 1 1 1 1 0 1)) 563 (i32.const 0)) 564 (assert_return (invoke "i32x4_all_true_as_br_if_cond" (v128.const i32x4 1 1 1 1)) 565 (i32.const 1)) 566 (assert_return (invoke "i32x4_all_true_as_br_if_cond" (v128.const i32x4 1 1 0 1)) 567 (i32.const 0)) 568 ;; any_true as and operand 569 (assert_return (invoke "i8x16_any_true_as_i32.and_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 570 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 571 (i32.const 0)) 572 (assert_return (invoke "i8x16_any_true_as_i32.and_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 573 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 574 (i32.const 0)) 575 (assert_return (invoke "i8x16_any_true_as_i32.and_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0) 576 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 577 (i32.const 1)) 578 (assert_return (invoke "i16x8_any_true_as_i32.and_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 579 (v128.const i16x8 0 0 0 0 0 0 0 0)) 580 (i32.const 0)) 581 (assert_return (invoke "i16x8_any_true_as_i32.and_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 582 (v128.const i16x8 0 0 0 0 0 0 1 0)) 583 (i32.const 0)) 584 (assert_return (invoke "i16x8_any_true_as_i32.and_operand" (v128.const i16x8 0 0 0 0 0 0 1 0) 585 (v128.const i16x8 0 0 0 0 0 0 1 0)) 586 (i32.const 1)) 587 (assert_return (invoke "i32x4_any_true_as_i32.and_operand" (v128.const i32x4 0 0 0 0) 588 (v128.const i32x4 0 0 0 0)) 589 (i32.const 0)) 590 (assert_return (invoke "i32x4_any_true_as_i32.and_operand" (v128.const i32x4 0 0 0 0) 591 (v128.const i32x4 0 0 1 0)) 592 (i32.const 0)) 593 (assert_return (invoke "i32x4_any_true_as_i32.and_operand" (v128.const i32x4 0 0 1 0) 594 (v128.const i32x4 0 0 1 0)) 595 (i32.const 1)) 596 ;; any_true as or operand 597 (assert_return (invoke "i8x16_any_true_as_i32.or_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 598 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 599 (i32.const 0)) 600 (assert_return (invoke "i8x16_any_true_as_i32.or_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 601 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 602 (i32.const 1)) 603 (assert_return (invoke "i8x16_any_true_as_i32.or_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0) 604 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 605 (i32.const 1)) 606 (assert_return (invoke "i16x8_any_true_as_i32.or_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 607 (v128.const i16x8 0 0 0 0 0 0 0 0)) 608 (i32.const 0)) 609 (assert_return (invoke "i16x8_any_true_as_i32.or_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 610 (v128.const i16x8 0 0 0 0 0 0 1 0)) 611 (i32.const 1)) 612 (assert_return (invoke "i16x8_any_true_as_i32.or_operand" (v128.const i16x8 0 0 0 0 0 0 1 0) 613 (v128.const i16x8 0 0 0 0 0 0 1 0)) 614 (i32.const 1)) 615 (assert_return (invoke "i32x4_any_true_as_i32.or_operand" (v128.const i32x4 0 0 0 0) 616 (v128.const i32x4 0 0 0 0)) 617 (i32.const 0)) 618 (assert_return (invoke "i32x4_any_true_as_i32.or_operand" (v128.const i32x4 0 0 0 0) 619 (v128.const i32x4 0 0 1 0)) 620 (i32.const 1)) 621 (assert_return (invoke "i32x4_any_true_as_i32.or_operand" (v128.const i32x4 0 0 1 0) 622 (v128.const i32x4 0 0 1 0)) 623 (i32.const 1)) 624 ;; any_true as xor operand 625 (assert_return (invoke "i8x16_any_true_as_i32.xor_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 626 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 627 (i32.const 0)) 628 (assert_return (invoke "i8x16_any_true_as_i32.xor_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 629 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 630 (i32.const 1)) 631 (assert_return (invoke "i8x16_any_true_as_i32.xor_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0) 632 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0)) 633 (i32.const 0)) 634 (assert_return (invoke "i16x8_any_true_as_i32.xor_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 635 (v128.const i16x8 0 0 0 0 0 0 0 0)) 636 (i32.const 0)) 637 (assert_return (invoke "i16x8_any_true_as_i32.xor_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 638 (v128.const i16x8 0 0 0 0 0 0 1 0)) 639 (i32.const 1)) 640 (assert_return (invoke "i16x8_any_true_as_i32.xor_operand" (v128.const i16x8 0 0 0 0 0 0 1 0) 641 (v128.const i16x8 0 0 0 0 0 0 1 0)) 642 (i32.const 0)) 643 (assert_return (invoke "i32x4_any_true_as_i32.xor_operand" (v128.const i32x4 0 0 0 0) 644 (v128.const i32x4 0 0 0 0)) 645 (i32.const 0)) 646 (assert_return (invoke "i32x4_any_true_as_i32.xor_operand" (v128.const i32x4 0 0 0 0) 647 (v128.const i32x4 0 0 1 0)) 648 (i32.const 1)) 649 (assert_return (invoke "i32x4_any_true_as_i32.xor_operand" (v128.const i32x4 0 0 1 0) 650 (v128.const i32x4 0 0 1 0)) 651 (i32.const 0)) 652 ;; all_true as and operand 653 (assert_return (invoke "i8x16_all_true_as_i32.and_operand" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 654 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 655 (i32.const 1)) 656 (assert_return (invoke "i8x16_all_true_as_i32.and_operand" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 657 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1)) 658 (i32.const 0)) 659 (assert_return (invoke "i8x16_all_true_as_i32.and_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 660 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 661 (i32.const 0)) 662 (assert_return (invoke "i16x8_all_true_as_i32.and_operand" (v128.const i16x8 1 1 1 1 1 1 1 1) 663 (v128.const i16x8 1 1 1 1 1 1 1 1)) 664 (i32.const 1)) 665 (assert_return (invoke "i16x8_all_true_as_i32.and_operand" (v128.const i16x8 1 1 1 1 1 1 1 1) 666 (v128.const i16x8 1 1 1 1 1 1 0 1)) 667 (i32.const 0)) 668 (assert_return (invoke "i16x8_all_true_as_i32.and_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 669 (v128.const i16x8 0 0 0 0 0 0 1 0)) 670 (i32.const 0)) 671 (assert_return (invoke "i32x4_all_true_as_i32.and_operand" (v128.const i32x4 1 1 1 1) 672 (v128.const i32x4 1 1 1 1)) 673 (i32.const 1)) 674 (assert_return (invoke "i32x4_all_true_as_i32.and_operand" (v128.const i32x4 1 1 1 1) 675 (v128.const i32x4 1 1 0 1)) 676 (i32.const 0)) 677 (assert_return (invoke "i32x4_all_true_as_i32.and_operand" (v128.const i32x4 0 0 0 0) 678 (v128.const i32x4 0 0 1 0)) 679 (i32.const 0)) 680 ;; all_true as or operand 681 (assert_return (invoke "i8x16_all_true_as_i32.or_operand" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 682 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 683 (i32.const 1)) 684 (assert_return (invoke "i8x16_all_true_as_i32.or_operand" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 685 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1)) 686 (i32.const 1)) 687 (assert_return (invoke "i8x16_all_true_as_i32.or_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 688 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 689 (i32.const 0)) 690 (assert_return (invoke "i16x8_all_true_as_i32.or_operand" (v128.const i16x8 1 1 1 1 1 1 1 1) 691 (v128.const i16x8 1 1 1 1 1 1 1 1)) 692 (i32.const 1)) 693 (assert_return (invoke "i16x8_all_true_as_i32.or_operand" (v128.const i16x8 1 1 1 1 1 1 1 1) 694 (v128.const i16x8 1 1 1 1 1 1 0 1)) 695 (i32.const 1)) 696 (assert_return (invoke "i16x8_all_true_as_i32.or_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 697 (v128.const i16x8 0 0 0 0 0 0 0 0)) 698 (i32.const 0)) 699 (assert_return (invoke "i32x4_all_true_as_i32.or_operand" (v128.const i32x4 1 1 1 1) 700 (v128.const i32x4 1 1 1 1)) 701 (i32.const 1)) 702 (assert_return (invoke "i32x4_all_true_as_i32.or_operand" (v128.const i32x4 1 1 1 1) 703 (v128.const i32x4 1 1 0 1)) 704 (i32.const 1)) 705 (assert_return (invoke "i32x4_all_true_as_i32.or_operand" (v128.const i32x4 0 0 0 0) 706 (v128.const i32x4 0 0 0 0)) 707 (i32.const 0)) 708 ;; all_true as xor operand 709 (assert_return (invoke "i8x16_all_true_as_i32.xor_operand" (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) 710 (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 711 (i32.const 0)) 712 (assert_return (invoke "i8x16_all_true_as_i32.xor_operand" (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 0 1)) 714 (i32.const 1)) 715 (assert_return (invoke "i8x16_all_true_as_i32.xor_operand" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 716 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 717 (i32.const 0)) 718 (assert_return (invoke "i16x8_all_true_as_i32.xor_operand" (v128.const i16x8 1 1 1 1 1 1 1 1) 719 (v128.const i16x8 1 1 1 1 1 1 1 1)) 720 (i32.const 0)) 721 (assert_return (invoke "i16x8_all_true_as_i32.xor_operand" (v128.const i16x8 1 1 1 1 1 1 1 1) 722 (v128.const i16x8 1 1 1 1 1 1 0 1)) 723 (i32.const 1)) 724 (assert_return (invoke "i16x8_all_true_as_i32.xor_operand" (v128.const i16x8 0 0 0 0 0 0 0 0) 725 (v128.const i16x8 0 0 0 0 0 0 0 0)) 726 (i32.const 0)) 727 (assert_return (invoke "i32x4_all_true_as_i32.xor_operand" (v128.const i32x4 1 1 1 1) 728 (v128.const i32x4 1 1 1 1)) 729 (i32.const 0)) 730 (assert_return (invoke "i32x4_all_true_as_i32.xor_operand" (v128.const i32x4 1 1 1 1) 731 (v128.const i32x4 1 1 0 1)) 732 (i32.const 1)) 733 (assert_return (invoke "i32x4_all_true_as_i32.xor_operand" (v128.const i32x4 0 0 0 0) 734 (v128.const i32x4 0 0 0 0)) 735 (i32.const 0)) 736 ;; any_true with v128.not 737 (assert_return (invoke "i8x16_any_true_with_v128.not" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 738 (i32.const 1)) 739 (assert_return (invoke "i8x16_any_true_with_v128.not" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 740 (i32.const 0)) 741 (assert_return (invoke "i8x16_any_true_with_v128.not" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0)) 742 (i32.const 1)) 743 (assert_return (invoke "i16x8_any_true_with_v128.not" (v128.const i16x8 0 0 0 0 0 0 0 0)) 744 (i32.const 1)) 745 (assert_return (invoke "i16x8_any_true_with_v128.not" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)) 746 (i32.const 0)) 747 (assert_return (invoke "i16x8_any_true_with_v128.not" (v128.const i16x8 0 0 0 0 0 0 -1 0)) 748 (i32.const 1)) 749 (assert_return (invoke "i32x4_any_true_with_v128.not" (v128.const i32x4 0 0 0 0)) 750 (i32.const 1)) 751 (assert_return (invoke "i32x4_any_true_with_v128.not" (v128.const i32x4 -1 -1 -1 -1)) 752 (i32.const 0)) 753 (assert_return (invoke "i32x4_any_true_with_v128.not" (v128.const i32x4 0 0 -1 0)) 754 (i32.const 1)) 755 ;; any_true with v128.and 756 (assert_return (invoke "i8x16_any_true_with_v128.and" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 757 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 758 (i32.const 0)) 759 (assert_return (invoke "i8x16_any_true_with_v128.and" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 760 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 761 (i32.const 1)) 762 (assert_return (invoke "i8x16_any_true_with_v128.and" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0) 763 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0)) 764 (i32.const 1)) 765 (assert_return (invoke "i16x8_any_true_with_v128.and" (v128.const i16x8 0 0 0 0 0 0 0 0) 766 (v128.const i16x8 0 0 0 0 0 0 0 0)) 767 (i32.const 0)) 768 (assert_return (invoke "i16x8_any_true_with_v128.and" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1) 769 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)) 770 (i32.const 1)) 771 (assert_return (invoke "i16x8_any_true_with_v128.and" (v128.const i16x8 0 0 0 0 0 0 -1 0) 772 (v128.const i16x8 0 0 0 0 0 0 -1 0)) 773 (i32.const 1)) 774 (assert_return (invoke "i32x4_any_true_with_v128.and" (v128.const i32x4 0 0 0 0) 775 (v128.const i32x4 0 0 0 0)) 776 (i32.const 0)) 777 (assert_return (invoke "i32x4_any_true_with_v128.and" (v128.const i32x4 -1 -1 -1 -1) 778 (v128.const i32x4 -1 -1 -1 -1)) 779 (i32.const 1)) 780 (assert_return (invoke "i32x4_any_true_with_v128.and" (v128.const i32x4 0 0 -1 0) 781 (v128.const i32x4 0 0 -1 0)) 782 (i32.const 1)) 783 ;; any_true with v128.or 784 (assert_return (invoke "i8x16_any_true_with_v128.or" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 785 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 786 (i32.const 0)) 787 (assert_return (invoke "i8x16_any_true_with_v128.or" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 788 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 789 (i32.const 1)) 790 (assert_return (invoke "i8x16_any_true_with_v128.or" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0) 791 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0)) 792 (i32.const 1)) 793 (assert_return (invoke "i16x8_any_true_with_v128.or" (v128.const i16x8 0 0 0 0 0 0 0 0) 794 (v128.const i16x8 0 0 0 0 0 0 0 0)) 795 (i32.const 0)) 796 (assert_return (invoke "i16x8_any_true_with_v128.or" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1) 797 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)) 798 (i32.const 1)) 799 (assert_return (invoke "i16x8_any_true_with_v128.or" (v128.const i16x8 0 0 0 0 0 0 -1 0) 800 (v128.const i16x8 0 0 0 0 0 0 -1 0)) 801 (i32.const 1)) 802 (assert_return (invoke "i32x4_any_true_with_v128.or" (v128.const i32x4 0 0 0 0) 803 (v128.const i32x4 0 0 0 0)) 804 (i32.const 0)) 805 (assert_return (invoke "i32x4_any_true_with_v128.or" (v128.const i32x4 -1 -1 -1 -1) 806 (v128.const i32x4 -1 -1 -1 -1)) 807 (i32.const 1)) 808 (assert_return (invoke "i32x4_any_true_with_v128.or" (v128.const i32x4 0 0 -1 0) 809 (v128.const i32x4 0 0 -1 0)) 810 (i32.const 1)) 811 ;; any_true with v128.xor 812 (assert_return (invoke "i8x16_any_true_with_v128.xor" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 813 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 814 (i32.const 0)) 815 (assert_return (invoke "i8x16_any_true_with_v128.xor" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 816 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 817 (i32.const 0)) 818 (assert_return (invoke "i8x16_any_true_with_v128.xor" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 819 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0)) 820 (i32.const 1)) 821 (assert_return (invoke "i16x8_any_true_with_v128.xor" (v128.const i16x8 0 0 0 0 0 0 0 0) 822 (v128.const i16x8 0 0 0 0 0 0 0 0)) 823 (i32.const 0)) 824 (assert_return (invoke "i16x8_any_true_with_v128.xor" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1) 825 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)) 826 (i32.const 0)) 827 (assert_return (invoke "i16x8_any_true_with_v128.xor" (v128.const i16x8 0 0 0 0 0 0 0 0) 828 (v128.const i16x8 0 0 0 0 0 0 -1 0)) 829 (i32.const 1)) 830 (assert_return (invoke "i32x4_any_true_with_v128.xor" (v128.const i32x4 0 0 0 0) 831 (v128.const i32x4 0 0 0 0)) 832 (i32.const 0)) 833 (assert_return (invoke "i32x4_any_true_with_v128.xor" (v128.const i32x4 -1 -1 -1 -1) 834 (v128.const i32x4 -1 -1 -1 -1)) 835 (i32.const 0)) 836 (assert_return (invoke "i32x4_any_true_with_v128.xor" (v128.const i32x4 0 0 0 0) 837 (v128.const i32x4 0 0 -1 0)) 838 (i32.const 1)) 839 ;; any_true with v128.bitselect 840 (assert_return (invoke "i8x16_any_true_with_v128.bitselect" (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) 841 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55) 842 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55)) 843 (i32.const 0)) 844 (assert_return (invoke "i8x16_any_true_with_v128.bitselect" (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) 845 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55) 846 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0xFF 0x55)) 847 (i32.const 1)) 848 (assert_return (invoke "i16x8_any_true_with_v128.bitselect" (v128.const i16x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) 849 (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55) 850 (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55)) 851 (i32.const 0)) 852 (assert_return (invoke "i16x8_any_true_with_v128.bitselect" (v128.const i16x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) 853 (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55) 854 (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0xFF 0x55)) 855 (i32.const 1)) 856 (assert_return (invoke "i32x4_any_true_with_v128.bitselect" (v128.const i32x4 0xAA 0xAA 0xAA 0xAA) 857 (v128.const i32x4 0x55 0x55 0x55 0x55) 858 (v128.const i32x4 0x55 0x55 0x55 0x55)) 859 (i32.const 0)) 860 (assert_return (invoke "i32x4_any_true_with_v128.bitselect" (v128.const i32x4 0xAA 0xAA 0xAA 0xAA) 861 (v128.const i32x4 0x55 0x55 0x55 0x55) 862 (v128.const i32x4 0x55 0x55 0xFF 0x55)) 863 (i32.const 1)) 864 ;; all_true with v128.not 865 (assert_return (invoke "i8x16_all_true_with_v128.not" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 866 (i32.const 1)) 867 (assert_return (invoke "i8x16_all_true_with_v128.not" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 868 (i32.const 0)) 869 (assert_return (invoke "i8x16_all_true_with_v128.not" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0)) 870 (i32.const 0)) 871 (assert_return (invoke "i16x8_all_true_with_v128.not" (v128.const i16x8 0 0 0 0 0 0 0 0)) 872 (i32.const 1)) 873 (assert_return (invoke "i16x8_all_true_with_v128.not" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)) 874 (i32.const 0)) 875 (assert_return (invoke "i16x8_all_true_with_v128.not" (v128.const i16x8 0 0 0 0 0 0 -1 0)) 876 (i32.const 0)) 877 (assert_return (invoke "i32x4_all_true_with_v128.not" (v128.const i32x4 0 0 0 0)) 878 (i32.const 1)) 879 (assert_return (invoke "i32x4_all_true_with_v128.not" (v128.const i32x4 -1 -1 -1 -1)) 880 (i32.const 0)) 881 (assert_return (invoke "i32x4_all_true_with_v128.not" (v128.const i32x4 0 0 -1 0)) 882 (i32.const 0)) 883 ;; all_true with v128.and 884 (assert_return (invoke "i8x16_all_true_with_v128.and" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 885 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 886 (i32.const 0)) 887 (assert_return (invoke "i8x16_all_true_with_v128.and" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 888 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 889 (i32.const 1)) 890 (assert_return (invoke "i8x16_all_true_with_v128.and" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0) 891 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0)) 892 (i32.const 0)) 893 (assert_return (invoke "i16x8_all_true_with_v128.and" (v128.const i16x8 0 0 0 0 0 0 0 0) 894 (v128.const i16x8 0 0 0 0 0 0 0 0)) 895 (i32.const 0)) 896 (assert_return (invoke "i16x8_all_true_with_v128.and" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1) 897 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)) 898 (i32.const 1)) 899 (assert_return (invoke "i16x8_all_true_with_v128.and" (v128.const i16x8 0 0 0 0 0 0 -1 0) 900 (v128.const i16x8 0 0 0 0 0 0 -1 0)) 901 (i32.const 0)) 902 (assert_return (invoke "i32x4_all_true_with_v128.and" (v128.const i32x4 0 0 0 0) 903 (v128.const i32x4 0 0 0 0)) 904 (i32.const 0)) 905 (assert_return (invoke "i32x4_all_true_with_v128.and" (v128.const i32x4 -1 -1 -1 -1) 906 (v128.const i32x4 -1 -1 -1 -1)) 907 (i32.const 1)) 908 (assert_return (invoke "i32x4_all_true_with_v128.and" (v128.const i32x4 0 0 -1 0) 909 (v128.const i32x4 0 0 -1 0)) 910 (i32.const 0)) 911 ;; all_true with v128.or 912 (assert_return (invoke "i8x16_all_true_with_v128.or" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 913 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 914 (i32.const 0)) 915 (assert_return (invoke "i8x16_all_true_with_v128.or" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 916 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 917 (i32.const 1)) 918 (assert_return (invoke "i8x16_all_true_with_v128.or" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0) 919 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0)) 920 (i32.const 0)) 921 (assert_return (invoke "i16x8_all_true_with_v128.or" (v128.const i16x8 0 0 0 0 0 0 0 0) 922 (v128.const i16x8 0 0 0 0 0 0 0 0)) 923 (i32.const 0)) 924 (assert_return (invoke "i16x8_all_true_with_v128.or" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1) 925 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)) 926 (i32.const 1)) 927 (assert_return (invoke "i16x8_all_true_with_v128.or" (v128.const i16x8 0 0 0 0 0 0 -1 0) 928 (v128.const i16x8 0 0 0 0 0 0 -1 0)) 929 (i32.const 0)) 930 (assert_return (invoke "i32x4_all_true_with_v128.or" (v128.const i32x4 0 0 0 0) 931 (v128.const i32x4 0 0 0 0)) 932 (i32.const 0)) 933 (assert_return (invoke "i32x4_all_true_with_v128.or" (v128.const i32x4 -1 -1 -1 -1) 934 (v128.const i32x4 -1 -1 -1 -1)) 935 (i32.const 1)) 936 (assert_return (invoke "i32x4_all_true_with_v128.or" (v128.const i32x4 0 0 -1 0) 937 (v128.const i32x4 0 0 -1 0)) 938 (i32.const 0)) 939 ;; all_true with v128.xor 940 (assert_return (invoke "i8x16_all_true_with_v128.xor" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 941 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 942 (i32.const 0)) 943 (assert_return (invoke "i8x16_all_true_with_v128.xor" (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1) 944 (v128.const i8x16 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1)) 945 (i32.const 0)) 946 (assert_return (invoke "i8x16_all_true_with_v128.xor" (v128.const i8x16 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1) 947 (v128.const i8x16 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0)) 948 (i32.const 1)) 949 (assert_return (invoke "i16x8_all_true_with_v128.xor" (v128.const i16x8 0 0 0 0 0 0 0 0) 950 (v128.const i16x8 0 0 0 0 0 0 0 0)) 951 (i32.const 0)) 952 (assert_return (invoke "i16x8_all_true_with_v128.xor" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1) 953 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)) 954 (i32.const 0)) 955 (assert_return (invoke "i16x8_all_true_with_v128.xor" (v128.const i16x8 0 -1 0 -1 0 -1 0 -1) 956 (v128.const i16x8 -1 0 -1 0 -1 0 -1 0)) 957 (i32.const 1)) 958 (assert_return (invoke "i32x4_all_true_with_v128.xor" (v128.const i32x4 0 0 0 0) 959 (v128.const i32x4 0 0 0 0)) 960 (i32.const 0)) 961 (assert_return (invoke "i32x4_all_true_with_v128.xor" (v128.const i32x4 -1 -1 -1 -1) 962 (v128.const i32x4 -1 -1 -1 -1)) 963 (i32.const 0)) 964 (assert_return (invoke "i32x4_all_true_with_v128.xor" (v128.const i32x4 0 -1 0 -1) 965 (v128.const i32x4 -1 0 -1 0)) 966 (i32.const 1)) 967 ;; all_true with v128.bitselect 968 (assert_return (invoke "i8x16_all_true_with_v128.bitselect" (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) 969 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55) 970 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55)) 971 (i32.const 0)) 972 (assert_return (invoke "i8x16_all_true_with_v128.bitselect" (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) 973 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55) 974 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA)) 975 (i32.const 1)) 976 (assert_return (invoke "i16x8_all_true_with_v128.bitselect" (v128.const i16x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) 977 (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55) 978 (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55)) 979 (i32.const 0)) 980 (assert_return (invoke "i16x8_all_true_with_v128.bitselect" (v128.const i16x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) 981 (v128.const i16x8 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55) 982 (v128.const i16x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA)) 983 (i32.const 1)) 984 (assert_return (invoke "i32x4_all_true_with_v128.bitselect" (v128.const i32x4 0xAA 0xAA 0xAA 0xAA) 985 (v128.const i32x4 0x55 0x55 0x55 0x55) 986 (v128.const i32x4 0x55 0x55 0x55 0x55)) 987 (i32.const 0)) 988 (assert_return (invoke "i32x4_all_true_with_v128.bitselect" (v128.const i32x4 0xAA 0xAA 0xAA 0xAA) 989 (v128.const i32x4 0x55 0x55 0x55 0x55) 990 (v128.const i32x4 0xAA 0xAA 0xAA 0xAA)) 991 (i32.const 1)) 992 993 ;; Type check 994 995 (assert_invalid (module (func (result i32) (v128.any_true (i32.const 0)))) "type mismatch") 996 (assert_invalid (module (func (result i32) (i8x16.all_true (i32.const 0)))) "type mismatch") 997 (assert_invalid (module (func (result i32) (v128.any_true (i32.const 0)))) "type mismatch") 998 (assert_invalid (module (func (result i32) (i16x8.all_true (i32.const 0)))) "type mismatch") 999 (assert_invalid (module (func (result i32) (v128.any_true (i32.const 0)))) "type mismatch") 1000 (assert_invalid (module (func (result i32) (i32x4.all_true (i32.const 0)))) "type mismatch") 1001 1002 ;; Unknown operators 1003 1004 (assert_malformed (module quote "(memory 1) (func (result i32) (f32x4.any_true (v128.const i32x4 0 0 0 0)))") "unknown operator") 1005 (assert_malformed (module quote "(memory 1) (func (result i32) (f32x4.all_true (v128.const i32x4 0 0 0 0)))") "unknown operator") 1006 (assert_malformed (module quote "(memory 1) (func (result i32) (f64x2.any_true (v128.const i32x4 0 0 0 0)))") "unknown operator") 1007 (assert_malformed (module quote "(memory 1) (func (result i32) (f64x2.all_true (v128.const i32x4 0 0 0 0)))") "unknown operator") 1008 1009 ;; Test operation with empty argument 1010 1011 (assert_invalid 1012 (module 1013 (func $v128.any_true-arg-empty (result v128) 1014 (v128.any_true) 1015 ) 1016 ) 1017 "type mismatch" 1018 ) 1019 (assert_invalid 1020 (module 1021 (func $i8x16.all_true-arg-empty (result v128) 1022 (i8x16.all_true) 1023 ) 1024 ) 1025 "type mismatch" 1026 ) 1027 (assert_invalid 1028 (module 1029 (func $v128.any_true-arg-empty (result v128) 1030 (v128.any_true) 1031 ) 1032 ) 1033 "type mismatch" 1034 ) 1035 (assert_invalid 1036 (module 1037 (func $i16x8.all_true-arg-empty (result v128) 1038 (i16x8.all_true) 1039 ) 1040 ) 1041 "type mismatch" 1042 ) 1043 (assert_invalid 1044 (module 1045 (func $v128.any_true-arg-empty (result v128) 1046 (v128.any_true) 1047 ) 1048 ) 1049 "type mismatch" 1050 ) 1051 (assert_invalid 1052 (module 1053 (func $i32x4.all_true-arg-empty (result v128) 1054 (i32x4.all_true) 1055 ) 1056 ) 1057 "type mismatch" 1058 )